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 hub上可以查看到我们刚刚上传的镜像文件,因为这个镜像是公开的,所以现在所有人都能够docker pull获取该镜像。
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
|
查看结果:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:http://www.cnblogs.com/liminjun88/p/6839198.html?utm_source=tuicool&utm_medium=referral