docker - registry
与maven,npm等包管理一样,docker同样也允许我们使用registry搭建本地私有仓库。搭建私有仓库的好处有(1)节省带宽(2)私有的镜像直接推送到本地私有仓库,仅供公司内部使用
安装registry
(1)下载registry镜像docker pull registry
(2)运行容器docker run -d -p 5000:5000 -v /opt/data/registry:/tmp/registry registry
默认情况下,会将仓库存放于容器的/tmp/registry目录下,这样如果容器被删除,则存放于容器中的镜像也会丢失,所以我们一般情况下会指定本地一个目录挂载到容器的/tmp/registry下
push镜像到私有仓库
(1)push镜像到私有仓库前需要对镜像打tag,告诉docker需要将镜像push到哪里docker tag helbing/wordpress:4.2 192.168.10.10:5000/helbing/wordpress:4.2
,192.168.10.10是私有仓库的ip地址
(2)打完tag之后就可以将镜像推送到私有仓库了docker push 192.168.10.10:5000/helbing/wordpress:4.2
(3)之后ls /opt/data/registry
就可以看到刚刚push的镜像
如果在推送的时候报错,可以将--insecure-registry=192.168.10.10:5000
写入到/etc/default/docker
中,然后重启docker
原因是registry使用的是https,所以当用docker pull命令下载远程镜像时,如果远程docker registry是非https的时候就会报上面的错误
搜索私有仓库镜像
在平常的时候如果我们要找镜像一般是docker search wordpress
,但是这样是搜索不到私有仓库的镜像的,可以这样进行搜索docker search 192.168.10.10:5000/wordpress
,192.168.10.10:5000为私有仓库的网络地址
pull私有仓库镜像
docker pull 192.168.10.10:5000/helbing/wordpress:4.2