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

Docker超入門:UbuntuとBusyBoxで試す!コンテナにボリュームをマウントする方法

UbuntuとBusyBoxで試す!コンテナにボリュームをマウントする方法

 Dockerを使うとき、コンテナ内で作ったデータはコンテナを削除すると一緒に消えてしまいます。そこで便利なのが ボリュームのマウント です。これを使えば、データを永続化でき、さらに異なるコンテナ間でデータを共有することが可能になります。ここでは、UbuntuコンテナとBusyBoxコンテナを使いながら、実際にボリュームをマウントしてデータを扱う流れを解説します。

ボリュームの作成

まずはボリュームを作成します。

コマンド書式

docker volume create <ボリューム名>

実行例

docker volume create vol1

実行結果

PS C:\Users\joeac> docker volume create vol1
vol1

このコマンドで vol1 という名前のボリュームが作成されます。

Ubuntuコンテナにボリュームをマウント

作成したボリュームをUbuntuコンテナにマウントしてみます。

コマンド書式

docker run -v <ボリューム名>:<ディレクトリ> --rm -it ubuntu

実行例

docker run -v vol1:/tmp/volume --rm -it ubuntu
コマンド要素説明
docker runDockerコンテナを起動するコマンド
-v vol1:/tmp/volumevol1ボリュームをコンテナ内の /tmp/volume にマウント
--rmコンテナ終了時に自動削除
-it対話モードで起動しターミナルを割り当てる
ubuntu使用するDockerイメージを指定

実行結果

PS C:\Users\joeac> docker run -v vol1:/tmp/volume --rm -it ubuntu
Unable to find image 'ubuntu:latest' locally
latest: Pulling from library/ubuntu
953cdd413371: Pull complete
Digest: sha256:353675e2a41babd526e2b837d7ec780c2a05bca0164f7ea5dbbd433d21d166fc
Status: Downloaded newer image for ubuntu:latest

これを実行するとUbuntuコンテナが起動し、ルート権限でログインできます。

ボリュームへのファイル書き込み

 マウントされたボリュームは、ディレクトリとして扱うことができ、ファイルの書き込みや読み込みが可能です。

マウントされたディレクトリにファイルを書き込んでみます。

root@57f45ad99271:/# cd /tmp/volume
root@57f45ad99271:/tmp/volume# date > date.txt
root@57f45ad99271:/tmp/volume# cat date.txt
Sun Sep 28 14:49:31 UTC 2025

このように、コンテナ内から直接ボリュームにデータを保存できます。

コンテナとボリュームの関係

コンテナを終了しても、ボリューム自体は残ります。

コンテナを終了させます。

root@57f45ad99271:/tmp/volume# exit
exit
PS C:\Users\joeac>

コンテナ確認

PS C:\Users\joeac> docker container ls -a
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

結果:コンテナは存在しない。

ボリューム確認

PS C:\Users\joeac> docker volume ls
DRIVER    VOLUME NAME
local     vol1

コンテナが消えても vol1 は残っていることが確認できます。

BusyBoxからボリュームにアクセス

次に、BusyBoxコンテナを使って同じボリュームにアクセスしてみます。

コマンド書式

docker run -v <ボリューム名>:<ディレクトリ> --rm -it busybox

実行例

docker run -v vol1:/tmp/volume --rm -it busybox

実行結果

コマンド要素説明
docker runDockerコンテナを起動
-v vol1:/tmp/volumevol1ボリュームを /tmp/volume にマウント
--rmコンテナ終了時に削除
-it対話モードで起動
busybox軽量なLinux環境BusyBoxを利用
PS C:\Users\joeac> docker run -v vol1:/tmp/volume --rm -it busybox
Unable to find image 'busybox:latest' locally
latest: Pulling from library/busybox
80bfbb8a41a2: Pull complete
Digest: sha256:d82f458899c9696cb26a7c02d5568f81c8c8223f8661bb2a7988b269c8b9051e
Status: Downloaded newer image for busybox:latest
/ #

BusyBoxに入ったら、先ほどUbuntuで作成したファイルを読み込んでみます。

/ # cd /tmp/volume
/tmp/volume # cat date.txt
Sun Sep 28 14:49:31 UTC 2025

Ubuntuコンテナで保存したデータを、BusyBoxコンテナからも利用できることが確認できました。

まとめ

  • docker volume create でボリュームを作成
  • docker run -v オプションでコンテナにマウント
  • コンテナが削除されてもボリュームは残り、別のコンテナでも利用可能

UbuntuとBusyBoxを使った演習で、ボリュームの永続化と共有の仕組みを体験できました。
これを理解しておけば、データベースやログの保存など、実運用にも安心してコンテナを使えます。