小知识:详解Docker基于已有的镜像制新的镜像

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

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

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

2.上传镜像到docker hub

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

?
1
2
docker login
#输入用户名和密码

推送镜像到docker hub

?
1
docker push image-name

运行结果如下图所示:

%小知识:详解Docker基于已有的镜像制新的镜像-猿站网-插图

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

%小知识:详解Docker基于已有的镜像制新的镜像-1猿站网-插图

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

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

3.1 删除镜像

?
1
2
#### 删除镜像
docker rmi image_name

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

?
1
2
error response from daemon: conflict: unable to remove repository reference “bage88/firstimage”
(must force) – container 25dca6040e7e is using its referenced image 31758d7d9e60

3.2 删除容器

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

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

?
1
2
3
4
5
6
7
docker rmi bage88/firstimage
###结果如下,说明删除镜像成功
untagged: bage88/firstimage:latest
untagged: bage88/firstimage@sha256:dc8a6511903cdcd25cf2d9de76a1c9ba21c050bb7702525fb3e1ba0168071481
deleted: sha256:31758d7d9e60b3c77bad4f477faae5e9dc87d3d5d16a085263f2f6de58a381ad
deleted: sha256:77757027951c22c480289ef98c6109c6d7df4e0bae9bda5db1e43436159de9e5

3.3 获取镜像

?
1
docker pull bage88/firstimage

3.4 运行镜像

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

查看结果:

%小知识:详解Docker基于已有的镜像制新的镜像-2猿站网-插图

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:http://www.cnblogs.com/liminjun88/p/6839198.html?utm_source=tuicool&utm_medium=referral

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:Linux下的chkconfig命令详解

2023-4-17 16:29:12

建站知识

小知识:浅谈Linux配置定时,使用crontab -e与直接编辑/etc/crontab的区别

2023-4-17 16:37:27

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索