私の目標は、同じソースコードからいくつかの異なるDockerイメージを構築することです。
./srcフォルダー(node.jsプロジェクト)があります。 ./src内には、first.dockerfileと2番目のdockerfileがあります。
プロジェクトをビルドするには、この標準のコマンドラインを使用します
Sudo docker build -t doronaviugy/myproject .
これは、デフォルトを使用しても問題なく機能しますDockerfile
次の行を使用して特定のdockerfileからビルドしようとしています
Sudo docker build -t doronaviguy/myproject - < first.docker
この行は機能しますが、パスが画像内にコピーされていません
#Inside the Dockerfile
ADD . /src
Dockerfile引数を指定する方法は理解していると思いますが、dockerイメージ内にコピーするdirecotry引数を指定する必要があります。
どうもありがとう。
Docker 1.5以降、-f
引数を使用して、使用するDockerfileを選択できます。例:
docker build -t doronaviugy/myproject -f dockerfiles/first.docker .
Stdinを使用してイメージをビルドする場合(- < first.docker
構文)、ビルドコンテキストがないため、参照するCOPY
またはADD
命令を使用できなくなります。ローカルファイル。
古いバージョンのDockerを使用する必要がある場合は、docker build
を呼び出す前に、スクリプトを使用して特定のDockerファイルをビルドコンテキストのルートにあるDockerfile
にコピーする必要があります。