使用不同的 docker 文件从源目录构建 docker 图像

Building docker images from a source directory using different dockerfiles

我的目标是从相同的源代码构建几个不同的 docker 图像。

我有我的 ./src 文件夹(node.js 项目)。 在 ./src 里面我有 first.dockerfile 和第二个 dockerfile.

为了构建项目,我使用这个标准命令行

sudo docker build -t doronaviugy/myproject .

使用默认 Dockerfile

没有问题

我正在尝试使用行

从特定的 docker 文件构建它
sudo docker build -t doronaviguy/myproject  - <   first.docker

这条线有效,但现在路径没有被复制到图像中

#Inside the Dockerfile
ADD . /src

我想我了解如何指定 docker 文件参数,但我需要指定要在 docker 图像中复制的 direcotry 参数。

非常感谢。

从 Docker 1.5 开始,您可以使用 select 的 -f 参数来使用 Docker 文件,例如:

docker build -t doronaviugy/myproject -f dockerfiles/first.docker .

如果您使用 stdin 构建映像(- < first.docker 语法),您将没有构建上下文,因此您将无法使用 COPYADD 指令引用本地文件。

如果您必须使用旧版本的 Docker,您需要使用一些脚本将特定的 Docker 文件复制到构建根目录下的 Dockerfile调用 docker build 之前的上下文。