本文共 5059 字,大约阅读时间需要 16 分钟。
分享一下我老师大神的人工智能教程!零基础,通俗易懂!
也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!
使用docker的login命令之后,可以使用push命令将镜像推送到dockerhub上,但是dockerhub毕竟在公网上,免费的帐户只有一个private 的repository是免费的,剩下的就都只能做成public的。由于种种限制,企业私有仓库的创建就有了各种应用场景。本文将从使用registry的方式简单介绍如何搭建私有的repository.
使用到的registry镜像
[root@liumiaocn ~]# docker search registry |head -n2NAME DESCRIPTION STARS OFFICIAL AUTOMATEDregistry Containerized docker registry 1123 [OK][root@liumiaocn ~]# docker pull registryUsing default tag: latestlatest: Pulling from library/registryc0cb142e4345: Pull completea5002dfce871: Pull completedf53ce740974: Pull complete9ce080a7bfae: Pull complete517dc3530502: Pull completeDigest: sha256:1cfcd718fd8a49fec9ef16496940b962e30e3927012e851f99905db55f1f4199Status: Downloaded newer image for registry:latest[root@liumiaocn ~]# 1 2 3 4 5 6 7 8 9 10 11 12 13 14
registry的介绍提到的最佳实践建议将registry作为容器运行起来。
[root@liumiaocn ~]# docker run -d -p 5000:5000 registrybadf822f34751979e4f7fc513b40177f941b227c7385245ad2f391737587b117[root@liumiaocn ~]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESbadf822f3475 registry "/entrypoint.sh /etc/" 3 seconds ago Up 2 seconds 0.0.0.0:5000->5000/tcp sharp_khorana[root@liumiaocn ~]# 1 2 3 4 5 6
准备:pull一个busybox
[root@liumiaocn ~]# docker pull busyboxUsing default tag: latestlatest: Pulling from library/busybox56bec22e3559: Pull completeDigest: sha256:29f5d56d12684887bdfa50dcd29fc31eea4aaf4ad3bec43daf19026a7ce69912Status: Downloaded newer image for busybox:latest[root@liumiaocn ~]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEbusybox latest e02e811dd08f 9 days ago 1.093 MBregistry latest 541a6732eadb 3 weeks ago 33.27 MB[root@liumiaocn ~]# 1 2 3 4 5 6 7 8 9 10 11
准备:tag busybox
[root@liumiaocn ~]# docker tag busybox localhost:5000/busybox[root@liumiaocn ~]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEbusybox latest e02e811dd08f 9 days ago 1.093 MBlocalhost:5000/busybox latest e02e811dd08f 9 days ago 1.093 MBregistry latest 541a6732eadb 3 weeks ago 33.27 MB[root@liumiaocn ~]# 1 2 3 4 5 6 7
push推送到私有仓库
[root@liumiaocn ~]# docker push localhost:5000/busyboxThe push refers to a repository [localhost:5000/busybox]e88b3f82283b: Pushedlatest: digest: sha256:29f5d56d12684887bdfa50dcd29fc31eea4aaf4ad3bec43daf19026a7ce69912 size: 527[root@liumiaocn ~]# 1 2 3 4 5
结果确认
[root@liumiaocn ~]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEbusybox latest e02e811dd08f 9 days ago 1.093 MBlocalhost:5000/busybox latest e02e811dd08f 9 days ago 1.093 MBregistry latest 541a6732eadb 3 weeks ago 33.27 MB[root@liumiaocn ~]# 1 2 3 4 5 6
事前准备:将其他镜像都删除,以便确认该镜像确实是从私有仓库中pull出来的
[root@liumiaocn ~]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEregistry latest 541a6732eadb 3 weeks ago 33.27 MB[root@liumiaocn ~]# 1 2 3 4
pull 私库镜像
[root@liumiaocn ~]# docker pull localhost:5000/busyboxUsing default tag: latestlatest: Pulling from busybox56bec22e3559: Pull completeDigest: sha256:29f5d56d12684887bdfa50dcd29fc31eea4aaf4ad3bec43daf19026a7ce69912Status: Downloaded newer image for localhost:5000/busybox:latest[root@liumiaocn ~]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZElocalhost:5000/busybox latest e02e811dd08f 9 days ago 1.093 MBregistry latest 541a6732eadb 3 weeks ago 33.27 MB[root@liumiaocn ~]# 1 2 3 4 5 6 7 8 9 10 11
确认:
pull下来的image可以正常使用
[root@liumiaocn ~]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZElocalhost:5000/busybox latest e02e811dd08f 9 days ago 1.093 MBregistry latest 541a6732eadb 3 weeks ago 33.27 MB[root@liumiaocn ~]# docker run -it localhost:5000/busybox /bin/sh/ # hostname24976e98919e/ # 1 2 3 4 5 6 7 8
registry可以用来创建私有仓库,但是其用户管理/图形界面等等方面的功能几乎没有,很不友好, 之前我们也介绍过habor,habor也是建立在registry基础之上的,在接下来的文章中我们会介绍一下如何使用habor。