docker的镜像在本地存放在:/var/lib/docker/image中。之前我保存镜像的方式都是把经过自己定制化处理的镜像另存为一个镜像,然后导出存储文件在服务器上。甚至在其它的服务器上备份,如果需要再启一个环境,只需要将镜像文件发到目标服务器上进行加载即可,不过对于一些云业务就需要将镜像提交到镜像仓库进行处理比较好。本文地址:http://8408.cn/article/987.html,未经许可,不得转载.
提交镜像仓库前需要先提交镜像,之前有一篇文章涉及到这个:http://47.93.183.36/article/702.html 实际这里就只需要commit,不需要save操作。
docker commit container_id image_name:version本文地址:http://8408.cn/article/987.html,未经许可,不得转载.
使用commit提交后就成了本地镜像,然后需要给本地镜像打标签,对需要推送到远程仓库的镜像标签一定要注意按照目标仓库的标准命名方式来进行,我就碰到因为命名问题导致推送不成功返回如下内容的情况:
denied: requested access to the resource is denied
#打标签的命令:
docker tag [ImageId] <仓库地址>/<镜像仓库>/<镜像名称>:[镜像版本号]
推送本地镜像本文地址:http://8408.cn/article/987.html,未经许可,不得转载.
#身份验证:将本地镜像进行标记之后,我们就可以着手进行推送镜像。但一般推送前要进行身份验证。
docker login --username=name 04007.cn
身份验证成功之后,我们就可以进行远程镜像的推送了。本文地址:http://8408.cn/article/987.html,未经许可,不得转载.
#推送镜像:
docker pull 04007.cn/responsity/jenkins:[镜像版本号]
命令执行完之后,可以查看本地镜像已经存在了之前要拉取的镜像。本文地址:http://8408.cn/article/987.html,未经许可,不得转载.
#push命令后面填写的就是标记后的镜像名称
docker push <仓库地址>/<镜像仓库>/<镜像名称>:[镜像版本号]
命令执行结果:
6dcf19e06e7a: Pushed
ace0eda3e3be: Pushed
latest: digest: sh...155eb size: 73912本文地址:http://8408.cn/article/987.html,未经许可,不得转载.
然后我们就可以将镜像推送到远程仓库,让别人从远程仓库中下载即可,同时还保证了镜像的安全。拉取远程镜像。在我们将本地镜像推送到远程仓库之后,项目中的其它成员就可以进行镜像的拉取。在拉取之前,我们首先需要进行身份的验证。本文地址:http://8408.cn/article/987.html,未经许可,不得转载.
本文地址:http://8408.cn/article/987.html 未经许可,不得转载. 手机访问本页请扫描右下方二维码.
手机扫码直接打开本页面 |