Docker/Dockerfile

COPY : ファイルのコピー

YOOANT 2026. 3. 13. 23:51

✅ 意味

COPY は、ホストコンピュータにあるファイルをコピーして、コンテナ内へ転送する役割を果たします。

✅ 使い方

# 文法
COPY [ホスト側のコピー元パス] [コンテナ側のコピー先パス]

# 例
COPY app.txt /app.txt

🎯 ファイルをコピーしてみる

1. app.txt ファイルを作成

2. Dockerfile を作成してイメージをビルド、コンテナを実行

Dockerfile

FROM ubuntu

COPY app.txt /app.txt

# デバッグ用コード:コンテナを維持させる
ENTRYPOINT ["/bin/bash", "-c", "sleep 500"]

 

3. コマンド実行

$ docker build -t my-server .
$ docker run -d my-server
$ docker exec -it [コンテナID] bash

$ ls # ファイルがコピーされているか確認


🎯 フォルダ内のすべてのファイルをコピー

1. my-app ディレクトリを作成し、その中にファイルを作成

2. Dockerfile を作成して実行

Dockerfile

FROM ubuntu

COPY my-app /my-app/

ENTRYPOINT ["/bin/bash", "-c", "sleep 500"]

 

3. コマンド実行

$ docker build -t my-server .
$ docker run -d my-server
$ docker exec -it [コンテナID] bash

$ ls


🎯 ワイルドカードを使用してみる

1. app.txt と readme.txt の 2 つのファイルを作成

2. Dockerfile を作成して実行

Dockerfile

FROM ubuntu

# 拡張子が .txt のすべてのファイルをコピー
COPY *.txt /text-files/

ENTRYPOINT ["/bin/bash", "-c", "sleep 500"]

⚠️ 注意: /text-files ではなく /text-files/ と記述する必要があります。末尾に / をつけることで、text-files というディレクトリの中にファイルが正常にコピーされます。

 

3. コマンド実行

$ docker build -t my-server .
$ docker run -d my-server
$ docker exec -it [コンテナID] bash

$ ls

🎯 .dockerignore を使用してみる

特定のファイルやフォルダだけを COPY の対象から除外したい場合があります。その際に .dockerignore を活用します完成。

1. .dockerignore ファイルを作成

.dockerignore

readme.txt

2. Dockerfile を作成して実行

Dockerfile

FROM ubuntu

# カレントディレクトリのすべてをコンテナのルートへコピー(ただし .dockerignore の対象は除く)
COPY ./ /

ENTRYPOINT ["/bin/bash", "-c", "sleep 500"]

 

3. コマンド実行

$ docker build -t my-server .
$ docker run -d my-server
$ docker exec -it [コンテナID] bash

$ ls # readme.txt が除外されているか確認

'Docker > Dockerfile' 카테고리의 다른 글

Spring Bootを Dockerで実行  (0) 2026.03.15
ENTRYPOINT  (0) 2026.03.15
終了したコンテナに入ってデバッグしたいとき  (0) 2026.03.13
ベースイメージの指定  (0) 2026.03.12
Dockerfile とは?  (0) 2026.03.12

日本語