将本地镜像推送到私有库
作者:互联网
一、下载docker registry
docker pull registry
二、运行私有库registry,相当于本地有个私有Docker hub
docker run -d -p 5000:5000 -v /test:/tmp/registry --privileged=true registry
*注: 默认情况,仓库被创建在容器的/var/liblregistry目录下,建议自行用容器卷映射,方便于宿主机联调
三、提交定制容器成为一个新镜像
-
启动一个容器
docker run
-
在该容器内安装自己需要的工具
-
通过docker commit命令提交该容器,使之成为一个新镜像
docker commit -m="描述说明" -a="作者" 容器id 要创建的镜像名称:TAG
四、将创建的新镜像,提交到本地的私有库registry中
-
curl验证私服库上有什么镜像(在容器 外运行)
curl -XGET http://本地ip:5000/v2/_catalog
-
将新镜像修改符合私服规范的Tag
docker tag 新镜像名称:TAG 本地IP:5000/提交后的镜像名称:TAG
-
取消docker默认不允许http方式推送镜像
vi /etc/docker/deamon.json { "registry-mirrors": ["https://*****.mirror.aliyuncs.com"], "insecure-registries": ["本地IP:5000"] }
*注:若修改不生效,建议重启docker【$ systemctl restart docker】
-
若重启了docker,需要重新启动Registry私服仓库
docker run -d -p 5000:5000 -v /test:/tmp/registry --privileged=true registry
-
推送本地镜像到私服库
docker push 推送镜像名称:TAG
五、验证
-
curl验证私服库上镜像是否推送成功(在容器外运行)
curl -XGET http://本地ip:5000/v2/_catalog
-
删除本地用于推送的新镜像
docker rmi -f 镜像名称:TAG
-
拉取私服上的镜像
docker pull 本地IP/要拉取的镜像名称:TAG
标签:容器,5000,私有,私服,registry,镜像,docker,推送 来源: https://www.cnblogs.com/quifan/p/16648048.html