このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
【Docker入門】Dockerfileからボリュームを作成する②

「Dockerfileからボリュームを作成する①」ここでは、別のコンテナを作成してボリュームをマウントしていきます。
「Dockerfileからボリュームを作成する」は、2部に分けて解説しています。
別のコンテナでマウント
以下の内容を確認します。
別のコンテナでボリュームをマウントして使える。

BusyBoxコンテナを「app」ボリュームにマウントします。
BusyBoxについては以下のコンテンツを参考にしてください。
コマンドは以下となります。
docker run -v app:/app --rm -it busybox
コマンド | 説明 |
---|---|
docker run | Dockerコンテナを実行するためのコマンド |
-v app:/app | ボリュームのマウントを行うオプション。「app 」という名前のボリュームを、ホストマシン上の「/app 」ディレクトリにマウントする |
--rm | コンテナが終了した際に自動的に削除するオプション |
-it | インタラクティブモードでコンテナを起動するオプション |
busybox | 使用するDockerイメージの指定。BusyBoxイメージを使用してコンテナを起動する |
BusyBoxコンテナからappボリュームにマウントする。
・「docker run -v app:/app --rm -it busybox」コマンドを実行します。
PS C:\Users\joeac\Desktop\docker\volume-test> docker run -v app:/app --rm -it busybox
/ #
別のコンテナで作成したデータにアクセスできることを確認する。
以下のコマンドを実行して、ファイルの読み込みを行います。
- 「cd /app」コマンド
- 「cat sample.txt」コマンド
/ # cd app
/app # cat sample.txt
This is App Data
/app #
別のコンテナで作成したデータにアクセスできることが確認できました。
BusyBoxコンテナを終了させます。
・「exit」コマンドを実行します。
/app # exit
PS C:\Users\joeac\Desktop\docker\volume-test>
Dockerオブジェクトのお掃除
ここで、不要になったDockerオブジェクト(コンテナとイメージ)を一括削除しておきます。
・「docker system prune -a」
Are you sure you want to continue? [y/N] という問いには「y」と入力します。
PS C:\Users\joeac\Desktop\docker\volume-test> docker system prune -a
WARNING! This will remove:
- all stopped containers
- all networks not used by at least one container
- all images without at least one container associated to them
- all build cache
Are you sure you want to continue? [y/N] y
Deleted Images:
untagged: volume-test:latest
deleted: sha256:8dc22bfe5e96255809e4826b572f6f88a7e6c9447d3dfc58ea085922064aaba1
untagged: busybox:latest
untagged: busybox@sha256:650fd573e056b679a5110a70aabeb01e26b76e545ec4b9c70a9523f2dfaf18c6
deleted: sha256:ba5dc23f65d4cc4a4535bce55cf9e63b068eb02946e3422d3587e8ce803b6aab
deleted: sha256:95c4a60383f7b6eb6f7b8e153a07cd6e896de0476763bef39d0f6cf3400624bd
untagged: ubuntu:latest
untagged: ubuntu@sha256:77906da86b60585ce12215807090eb327e7386c8fafb5402369e421f44eff17e
deleted: sha256:ca2b0f26964cf2e80ba3e084d5983dab293fdb87485dc6445f3f7bbfc89d7459
Deleted build cache objects:
e841lteu32041fg120oucj4lx
2xu86gi9mfder7y9un2ovsnuk
d602dvpfht3xu8hb109a4i669
w1eh2cgovqpw1zow5ifuw5vsv
la7hzcnqqi8o0lsig4lmgju98
Total reclaimed space: 4.262MB
続いてボリュームを削除します。
・「docker volume prune」コマンドを実行します。
PS C:\Users\joeac\Desktop\docker\volume-test> docker volume prune -f
Total reclaimed space: 0B
・「docker volume ls」コマンドを実行します。
PS C:\Users\joeac\Desktop\docker\volume-test> docker volume ls
DRIVER VOLUME NAME
local app
local vol1
ボリュームが消えていません。
このように消えない場合は、個別に削除します。
以下のコマンドを実行します。
- 「docker volume rm app」コマンド
- 「docker volume rm vol1」コマンド
PS C:\Users\joeac\Desktop\docker\volume-test> docker volume rm app
app
PS C:\Users\joeac\Desktop\docker\volume-test> docker volume rm vol1
Vol1