发送 docker 个构建上下文

Sending docker build contexts

我的目录结构如下

  cassandra
      Dockerfile
      downloads
          225M file

我在 cassandra 目录中。我的构建命令是

   docker build -t image_cassandra .

我知道它将发送 . 当前目录中的所有内容。所以发送这个225M的文件需要那么多时间。我的 Dockerfile 中需要这个文件。

  Add downloads/ /tmp/

我想避免这么长时间的延误。而且我知道,我们不能在 docker ADD 命令中使用 ../。那么有什么方法可以减少构建上下文的大小并使用这个 ADD 命令。

此文件不是 web 的一部分。所以我不能使用任何 apt-get wget 语句。或者不可能?

您可以将项目分成两个 docker 图像,一个不经常更改的大图像和一个可以快速更改的小图像。

Project1/
    Dockerfile
    bigfile

Project2/
    Dockerfile

Project1/Dockerfile 看起来像这样:

FROM ubuntu
RUN apt-get install cassandra
ADD bigfile

然后如果你构建它并用 docker build -t project1 Project1 标记它,你可以在 Project2/Dockerfile:

中使用结果
FROM project1
RUN fast configuration commands