docker-ce版本私有仓库搭建
2018-01-31 10:11:56
說明:本文中私有倉庫的ip地址為10.10.172.203:5000,操作系統(tǒng)為CentOS7.2;
服務(wù)端:10.10.172.203/24
第一步:
1,從Docker官方倉庫里下載registry鏡像
2、docker images命令查看本地鏡像;
默認(rèn)情況下,會(huì)將私有倉庫存放于容器內(nèi)的/tmp/registry目錄下,這樣如果容器被刪除,則存放于容器中的鏡像也會(huì)丟失。
所以一般情況下會(huì)指定本地一個(gè)目錄掛載到容器內(nèi)的/tmp/registry下,命令如下:
由上可以看到,已經(jīng)啟動(dòng)了一個(gè)容器,地址為:10.10.172.203:5000。
3、由于倉庫與客戶端的https問題,需要修改/usr/lib/systemd/system/docker.service文件,添加 ExecStart=/usr/bin/dockerd --registry-mirror=http://019a7061.m.daocloud.io ?--insecure-registry 10.10.172.203:5000
?
[Service]Type=notify#?the?default?is?not?to?use?systemd?for?cgroups?because?the?delegate?issues?still#?exists?and?systemd?currently?does?not?support?the?cgroup?feature?set?required#?for?containers?run?by?dockerExecStart=/usr/bin/dockerd?--storage-driver=devicemapper?--storage-opt=dm.thinpooldev=/dev/mapper/docker-thinpool?--storage-opt?dm.use_deferred_removal=true?
--registry-mirror=http://019a7061.m.daocloud.io??--insecure-registry?10.10.172.203:5000
ExecReload=/bin/kill?-s?HUP?$MAINPID#?Having?non-zero?Limit*s?causes?performance?problems?due?to?accounting?overhead#?in?the?kernel.?We?recommend?using?cgroups?to?do?container-local?accounting.LimitNOFILE=infinityLimitNPROC=infinityLimitCORE=infinity#?Uncomment?TasksMax?if?your?systemd?version?supports?it.#?Only?systemd?226?and?above?support?this?version.#TasksMax=infinityTimeoutStartSec=0#?set?delegate?yes?so?that?systemd?does?not?reset?the?cgroups?of?docker?containersDelegate=yes#?kill?only?the?docker?process,?not?all?processes?in?the?cgroupKillMode=process#?restart?the?docker?process?if?it?exits?prematurelyRestart=on-failureStartLimitBurst=3StartLimitInterval=60s?
[Install]WantedBy=multi-user.target[root@docker?~]#??
[root@docker?~]#?cat?/etc/docker/daemon.json{"registry-mirrors":?["http://df98fb04.m.daocloud.io"],"insecure-registries":["10.10.172.203:5000"]??
}[root@docker?~]#?
重新加載docker服務(wù)[root@docker?~]#?systemctl?daemon-reload[root@docker?~]#?systemctl?restart?docker??
?
溫馨提示:這個(gè)是在客戶機(jī)的docker配置文件里添加的(即上傳鏡像到私有倉庫里或從私有倉庫下載鏡像的客戶機(jī))。4、重新啟動(dòng)docker。(如果是在虛擬機(jī)中運(yùn)行,重啟一下虛擬機(jī),要不然還是使用其他機(jī)器訪問此倉庫還是會(huì)有https的問題)
| 1 | #?systemctl?restart?docker |
5、docker tag將鏡像打tag,語法格式如下
| docker?tag?<image_name>?<registry_ip>:5000/<image_name>:<version> |
| 1 | #?docker?tag?centos:latest?10.10.172.203:5000/centos7??? ?//修改了tag后的鏡像若要?jiǎng)h除,docker?rmi后面不能用鏡像ID了,需要用docker?rmi?10.10.172.203:5000/centos7:latest |
| 12345 | [root@docker?~]#?docker?imagesREPOSITORY???????????????????TAG?????????????????IMAGE?ID????????????CREATED?????????????SIZEregistry?????????????????????latest??????????????d1fd7d86a825????????3?weeks?ago?????????33.3MB10.10.172.203:5000/centos7???latest??????????????ff426288ea90????????3?weeks?ago?????????207MBcentos???????????????????????latest??????????????ff426288ea90????????3?weeks?ago?????????207MB |
6、鏡像的上傳與下載,語法格式如下
| 12 | docker?push?<registry_ip>:5000/<image_name>:<version>;上傳鏡像至私有倉庫docker?pull?<registry_ip>:5000/<image_name>:<version>;從私有倉庫pull鏡像 |
| 1 | #?docker?push?10.10.172.203:5000/centos7 |
| 12345 | [root@docker?~]#?docker?push?10.10.172.203:5000/centos7The?push?refers?to?repository?[10.10.172.203:5000/centos7]e15afa4858b6:?Pushed?latest:?digest:?sha256:7e94d6055269edb455bcfb637292573117e4a8341e9b9abbc09b17d8aafe8fbe?size:?529[root@docker?~]# |
7、使用curl 10.10.172.203:5000/v2/_catalog 查看倉庫中的鏡像情況
| 123 | [root@docker?~]#?curl?10.10.172.203:5000/v2/_catalog{"repositories":["centos7"]}[root@docker?~]# |
注意查看鏡像方法(docker pull registry:2.1.1):
| 12 | #?curl?-XGET?http://registry_ip:5000/v2/_catalog#?curl?-XGET?http://registry_ip:5000/v2/image_name/tags/list |
客戶端下載私有倉庫鏡像:
配置docker信任私有倉庫地址(http)
| 12345 | [root@localhost?~]#?cat?/etc/docker/daemon.json?{"registry-mirrors":?["http://df98fb04.m.daocloud.io"],"insecure-registries":["10.10.172.203:5000"]} |
2.查看客戶端本機(jī)鏡像列表
| 123 | [root@localhost?~]#?docker?images???????????????REPOSITORY??????????TAG?????????????????IMAGE?ID????????????CREATED?????????????SIZEcentos??????????????latest??????????????ff426288ea90????????3?weeks?ago?????????207MB |
3.從私有倉庫下載centos鏡像
| 12345 | [root@localhost?~]#?docker?pull?10.10.172.203:5000/centos7Using?default?tag:?latestlatest:?Pulling?from?centos7Digest:?sha256:7e94d6055269edb455bcfb637292573117e4a8341e9b9abbc09b17d8aafe8fbeStatus:?Downloaded?newer?image?for?10.10.172.203:5000/centos7:latest |
4.再次查看客戶端本機(jī)鏡像列表
| 12345 | [root@localhost?~]#?docker?imagesREPOSITORY???????????????????TAG?????????????????IMAGE?ID????????????CREATED?????????????SIZE10.10.172.203:5000/centos7???latest??????????????ff426288ea90????????3?weeks?ago?????????207MBcentos???????????????????????latest??????????????ff426288ea90????????3?weeks?ago?????????207MB[root@localhost?~]# |
總結(jié):使用企業(yè)內(nèi)部私有鏡像倉庫中的鏡像,大大節(jié)省了鏡像下載的時(shí)間。
轉(zhuǎn)載于:https://blog.51cto.com/douya/2134268
總結(jié)
以上是生活随笔為你收集整理的docker-ce版本私有仓库搭建的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: K8S发布解释型语言应用的最佳实践
- 下一篇: Mybatis基础:增删改查、模糊查询、