我一直在尝试使用泊坞窗,这些是我已经下载的码头图片。
debian latest 8c00acfb0175 2 weeks ago 125.2 MB
sameersbn/postgresql latest 1da0f78d061e 3 weeks ago 231.6 MB
ubuntu latest 91e54dfb1179 5 weeks ago 188.4 MB
docker/whalesay latest fb434121fc77 4 months ago 247 MB
sameersbn/postgresql 9.4 271ad7e099d3 7 months ago 228.2 MB
我如何在本地为debian或ubuntu创建基本图像,并在它们之上构建一些测试图像而不打扰基本图像,这样我就不必再次下载基本的docker图像了,我可以多次使用新下载的图像吗?
答案 0 :(得分:3)
只需编写一个以:
开头的DockerfileFROM debian:latest
...
(使用FROM
directive)
这将创建一个基于debian的本地图像,因为debian已经下载,所以不会再次下载。
注意:最好避免使用最新的"标签:请参阅" Docker: The latest Confusion"作者:Stack Overflow撰稿人Adrian Mouat 使用实际标签更精确:
docker pull debian:7.8 docker pull debian:wheezy
如果想在ubuntu中做某事有以下几种方法:我只执行命令
docker copy "image_name"
然后做我想做的任何事情(运行图像,克隆一些git repo,安装一些软件包,测试它),以及然后只需将其删除docker rmi "image_name"
(当我完成图片时)。
是的:您可以docker run --it <image> bash
(包含bash
的图片),然后退出bash:您的容器将被退出:然后您可以docker commit <containerrid> newimage
,然后您将获得一份副本原始图像。
答案 1 :(得分:2)
使用命令&#34; docker images&#34;列出的图像可以重复使用。以下是有两种方法可以扩展或重复使用基本图像而无需再次下载。
net/url/#QueryEscape
在Dockerfile中你可以把指令&#34; FROM REPOSITORY_NAME:TAG_NAME&#34;作为重新使用已经下载的基本图像的第一行
FROM REPOSITORY_NAME:TAG_NAME
在&#34;码头图像&#34;命令输出,第1列给出了REPOSITORY名称,第2列给出了TAG名称。
您可以在Dockerfile中进一步添加更多指令并构建它。
一个。从基本图像
启动容器湾登录容器,对容器进行更改,如需要安装其他rpms等。
℃。提交在基本图像上创建的新图像的结果。
docker commit -m "installed wireshark" -a "admin" "container-id" "your_repository_name"/"user_name":"New_TAG"
d。运行&#34;码头图像&#34;命令,您可以看到新图像(在现有的已下载图像的基础上准备)