このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

Dockerfileからボリュームを作成する②

 「Dockerfileからボリュームを作成する①」ここでは、別のコンテナを作成してボリュームをマウントしていきます。

「Dockerfileからボリュームを作成する」は、2部に分けて解説しています。

別のコンテナでマウント

以下の内容を確認します。

別のコンテナでボリュームをマウントして使える。

BusyBoxコンテナを「app」ボリュームにマウントします。

BusyBoxについては以下のコンテンツを参考にしてください。

BusyBoxコンテナを使ってみる

このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。 BusyBoxコンテナを使ってみる 「docker run -it –rm busybox」コマンドの概要 …

コマンドは以下となります。

docker run -v app:/app –rm -it busybox

コマンド説明
docker runDockerコンテナを実行するためのコマンド
-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