我们可以使用带有源图像(OS)的docker文件来创建docker镜像,即
FROM rhel
Run Code Online (Sandbox Code Playgroud)
我们不希望所有应用程序泊坞窗图像中都有基本图像(centos或rhel).我们想要分离基本图像(centos或rhel)和应用程序图像,并在运行时链接它们.可能吗?
当我在没有 FROM centos或构建docker镜像时rhel,docker抱怨:"在提交前提供源图像"
我的docker文件如下所示:
MAINTAINER abc
RUN mkdir /opt/cassandra
RUN cd /opt/cassandra
RUN wget http://www.interior-dsgn.com/apache/cassandra/2.1.2/apache-cassandra-2.1.2-bin.tar.gz
RUN tar xvzf apache-cassandra-2.1.2-bin.tar.gz
RUN cd apache-cassandra-2.1.2-bin
Run Code Online (Sandbox Code Playgroud)
您说" 我们希望将基本映像(centos或rhel)与应用程序映像分开并在运行时链接它们. " FROM rhel由于Docker使用的分层文件系统,这基本上就是这样.
也就是说,FROM图像不会成为图像的一部分 - 它保留在单独的图层中.您的新图像指向该图像rhel(或其他FROM"基础图层"),然后在运行时将其自身添加到其上.
所以继续使用FROM- 你会得到你想要的行为.
对于那些发现这个问题寻找构建自己的基本图像的方法的人(所以你不必使用任何东西作为基础),你可以使用FROM scratch,你应该阅读有关创建基本图像的内容.
而且,为了完全迂腐,Docker需要一个FROM基础包括Linux发行版的根文件系统的原因是没有根文件系统,没有什么.你甚至不能RUN mkdir /opt/cassandra因为mkdir是根文件系统提供的程序.
| 归档时间: |
|
| 查看次数: |
5351 次 |
| 最近记录: |