发送 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
我的目录结构如下
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