温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Docker基于已有镜像怎么制新的镜像

发布时间:2022-05-25 15:02:50 来源:亿速云 阅读:747 作者:iii 栏目:大数据

本篇内容主要讲解“Docker基于已有镜像怎么制新的镜像”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Docker基于已有镜像怎么制新的镜像”吧!

1.根据运行的容器制作镜像

#查看所有的容器
docker ps
#暂停当前容器
docker pause cotnainer-id
#将容器运行当前状态提交
docker commit cotnainer-id
#根据commit-id打包容器tag
docker tag commit-id

经过以上几个步骤,根据当前运行的容器制作镜像就完成了。

2.上传镜像到docker hub

如果未登录docker hub,需要登录docker hub

docker login
#输入用户名和密码

推送镜像到docker hub

docker push image-name

运行结果如下图所示:

Docker基于已有镜像怎么制新的镜像

在docker hub上可以查看到我们刚刚上传的镜像文件,因为这个镜像是公开的,所以现在所有人都能够docker pull获取该镜像。

Docker基于已有镜像怎么制新的镜像

3.获取上传的镜像并运行

因为我使用的是同一台ubuntu机器,我本地已经有了bage88/firstimage这个镜像,我先要删除该镜像,然后再获取。

3.1 删除镜像

#### 删除镜像
docker rmi image_name

提示如下错误,有基于该镜像的容器在运行,所以我先要删除这个容器,再删除镜像。

error response from daemon: conflict: unable to remove repository reference "bage88/firstimage"
(must force) - container 25dca6040e7e is using its referenced image 31758d7d9e60

3.2 删除容器

docker rm 25dca6040e7e(这个是容器id)

再执行一次删除镜像命令:

docker rmi bage88/firstimage

###结果如下,说明删除镜像成功
untagged: bage88/firstimage:latest
untagged: bage88/firstimage@sha256:dc8a6511903cdcd25cf2d9de76a1c9ba21c050bb7702525fb3e1ba0168071481
deleted: sha256:31758d7d9e60b3c77bad4f477faae5e9dc87d3d5d16a085263f2f6de58a381ad
deleted: sha256:77757027951c22c480289ef98c6109c6d7df4e0bae9bda5db1e43436159de9e5

3.3 获取镜像

docker pull bage88/firstimage

3.4 运行镜像

docker run -d -p 8010:80 bage88/firstimage

查看结果:

Docker基于已有镜像怎么制新的镜像

到此,相信大家对“Docker基于已有镜像怎么制新的镜像”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI