根据Docker文档,要构建自己的映像,必须始终使用该FROM指令指定基本映像.
显然,在Docker索引中有很多图像可供选择,但如果我想构建自己的图像呢?那可能吗?
base如果我理解正确,图像是由Ubuntu构建的,我想试验一个Debian图像.另外,我想真正理解Docker base是如何工作的,而且图像对我来说仍然是一个黑盒子.
编辑: 有关创建基本映像的官方文档
cre*_*ack 34
您可以查看基本图像的创建方式并从那里开始.
你可以在这里找到它们:https://github.com/dotcloud/docker/tree/master/contrib.有mkimage-busybox.sh,mkimage-unittest.sh,mkimage-debian.sh
Fli*_*imm 30
您可以使用"docker import"从任何tarball轻松创建新容器.例如:
Run Code Online (Sandbox Code Playgroud)debootstrap raring ./rootfs tar -C ./rootfs -c . | docker import - flimm/mybase
Lar*_*Cai 20
(感谢fatherlinux)从http://developerblog.redhat.com/2014/05/15/practical-introduction-to-docker-containers/获取信息,这解释得更好
为文件系统创建tar文件,就是这样
tar --numeric-owner --exclude=/proc --exclude=/sys -cvf centos6-base.tar /
Run Code Online (Sandbox Code Playgroud)tar文件转移到其他码头工人的系统,如果未在本地安装和import它
cat centos6-base.tar | docker import - centos6-base
Run Code Online (Sandbox Code Playgroud)现在您可以通过运行来验证.
docker run -i -t centos6-base cat /etc/redhat-release
Run Code Online (Sandbox Code Playgroud)来自dotcloud的脚本 将前两个步骤组合在一起,这让我感到困惑并且在开始时看起来很复杂.
docker 官方指南使用debootstrap也试图制作干净的文件系统.
你可以自己判断如何做第1步.
小智 13
要从头开始构建自己的图像,可以使用scratch图像.
使用临时"图像"信号到构建过程,您希望Dockerfile中的下一个命令成为图像中的第一个文件系统层.
FROM scratch
ADD hello /
CMD ["/hello"]
Run Code Online (Sandbox Code Playgroud)
http://docs.docker.com/engine/articles/baseimages/#creating-a-simple-base-image-using-scratch
| 归档时间: |
|
| 查看次数: |
72086 次 |
| 最近记录: |