Dockerfile を使用して 1 つのレイヤーに複数のファイルをコピーするにはどうすればよいでしょうか? 質問する

Dockerfile を使用して 1 つのレイヤーに複数のファイルをコピーするにはどうすればよいでしょうか? 質問する

次のDockerfile4 つのCOPYレイヤーが含まれます。

COPY README.md ./
COPY package.json ./
COPY gulpfile.js ./
COPY __BUILD_NUMBER ./

代わりに 1 つのレイヤーを使用してこれらのファイルをコピーするにはどうすればよいでしょうか? 次の方法を試しました。

COPY [
    "__BUILD_NUMBER ./",
    "README.md ./",
    "gulpfile ./",
    "another_file ./",
]

ベストアンサー1

COPY README.md package.json gulpfile.js __BUILD_NUMBER ./

または

COPY ["__BUILD_NUMBER", "README.md", "gulpfile", "another_file", "./"]

ソースファイルの指定ではワイルドカード文字を使用することもできます。詳細はドキュメントをご覧ください

ディレクトリは特別です!

COPY dir1 dir2 ./

それは実際には

COPY dir1/* dir2/* ./

1 つのコマンドで複数のディレクトリ (その内容ではない) を宛先ディレクトリの下にコピーする場合は、ソース ディレクトリが共通の親の下にあり、その親の下に配置されるようにビルド コンテキストを設定する必要がありますCOPY

おすすめ記事