如果我们想将这个镜像提供给别人使用时,我们可以将镜像推送到远程仓库,然后别人从远程仓库中下载即可,
在镜像的运行过程中,我们对镜像进行了修改,这时候我们首先需要进行提交操作。
docker commit container_id image_name:version
提交之后,我们再来查看本地仓库中的镜像。
博主这里使用的是aliyun的镜像仓库,我们对需要推送到远程仓库的镜像打一下标签。
docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/coderchenhao/jenkins:[镜像版本号]
将本地镜像进行标记之后,我们就可以对本地进行推送。
#push命令后面填写的就是标记后的镜像名称
docker push registry.cn-hangzhou.aliyuncs.com/coderchenhao/jenkins:[镜像版本号]
命令执行结果:
在我们将本地镜像推送到远程仓库之后,项目中的其它成员就可以进行镜像的拉取。在拉取之前,我们首先需要进行身份的验证。
docker login --username=your_name registry.cn-hangzhou.aliyuncs.com
身份验证成功之后,我们就可以进行远程镜像的拉取了。
docker pull registry.cn-hangzhou.aliyuncs.com/coderchenhao/jenkins:[镜像版本号]
命令执行完之后,可以查看本地镜像已经存在了之前要拉取的镜像。
这里需要注意的是,如果我们之前运行的镜像有挂载目录,那么也需要将这个挂载目录的文件发给项目中的其它成员,不然这个运行起来的镜像是没有之前的数据的。这里以jenkins为例,还需要将复制过去的文件用户所有者修改为10000,否则jenkins是无法读取这些历史数据的。
chown -R 1000 /var/jenkins_home
docker run -d -p 8080:8080 --privileged=true -v e:/docker/jenkins_home:/var/jenkins_home --name jenkins-dev jenkins/jenkins:lts
博主这里使用推送的是jenkins镜像,因此我们可以访问一下jenkins的web界面看镜像是否运行正常。
原文:https://www.cnblogs.com/chenhaoblog/p/13662544.html