このページで解説している内容は、以下の 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 run | Dockerコンテナを起動するコマンド |
| -v vol1:/tmp/volume | vol1ボリュームをコンテナ内の /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 run | Dockerコンテナを起動 |
| -v vol1:/tmp/volume | vol1ボリュームを /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 2025Ubuntuコンテナで保存したデータを、BusyBoxコンテナからも利用できることが確認できました。
まとめ
- docker volume create でボリュームを作成
- docker run -v オプションでコンテナにマウント
- コンテナが削除されてもボリュームは残り、別のコンテナでも利用可能
UbuntuとBusyBoxを使った演習で、ボリュームの永続化と共有の仕組みを体験できました。
これを理解しておけば、データベースやログの保存など、実運用にも安心してコンテナを使えます。
