Docker的私有仓库搭建非常简单,方便我们进行对自定义镜像进行快速部署。
Docker的安装:
yum -y install docker-io
下载镜像容器:
docker pull registry
创建认证文件
docker run --entrypoint htpasswd registry -Bbn jecci 123456 > /usr/local/docker/registry/auth/htpasswd
或者使用htpasswd
htpasswd -Bbn jecci 123456 >/usr/local/docker/registry/auth/htpasswd
启动认证容器,开启认证后,通过浏览器查看仓库内镜像:
docker run -d -p 5000:5000 --restart=always \
-v /usr/local/docker/registry:/var/lib/registry \
-v /usr/local/docker/registry/auth:/auth \
-e "REGISTRY_AUTH=htpasswd" \
-e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \
-e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd \
registry
docker run -d -p 5000:5000 -v /usr/local/docker/registry:/var/lib/registry -v /usr/local/docker/registry/auth:/auth -e "REGISTRY_AUTH=htpasswd" -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" -e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd registry
启动私有仓库镜像容器(不需认证):
docker run -d -p 5000:5000 --name registry -v /usr/local/docker/registry/:/var/lib/registry/ registry
现在pull,push ,需要登录:
登录
docker login -u jecci -p 123456 192.168.10.80:5000
退出
docker logout 192.168.10.80:5000
上传自定义镜像之前,需要修改镜像TAG,且要指定私有仓库地址:
docker tag hello-world 192.168.10.80:5000/hello-world
上传镜像至自定义仓库:
docker push 192.168.10.80:5000/hello-world
docker向远程私有仓库上传镜像时,若遇到HTTPS错误时,找到docker的进程守护文件,在启动名字后添加
--insecure-registry 192.168.10.80:5000
通过浏览器,查看私有仓库镜像,展示仓库所有镜像的TAG,:
curl -X GET http://192.168.10.80:5000/v2/_catalog
http://192.168.10.80:5000/v2/_catalog
通过浏览器,获取某个镜像的标签列表:
curl -X GET http://192.168.10.80:5000/v2/nginx/tags/list
http://192.168.10.80:5000/v2/nginx/tags/list