0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Docker】ボリュームとは

Last updated at Posted at 2025-10-14

概要

  • コンテナ削除後もデータを保持できる
  • 複数コンテナ間でデータを共有可能
  • ホストのパスに依存せずDockerが管理する
  • コンテナ停止や削除に影響されずデータを保持
  • 複数コンテナで共有可能
  • Bindマウントより移植性が高く、Docker管理下で安全

1. ボリュームの作成

docker volume create myvolume
  • コンテナの削除・再作成を行ってもデータを保持したいため
  • Dockerが管理する領域としてボリュームを作ることで、ホスト環境に依存せず安全に永続化できる
  • 名前(ここでは myvolume)を付けることで、複数コンテナ間で同じボリュームを簡単に指定できる

2. ボリュームを使ってコンテナを起動

docker container run --rm -d \
  --name vct1 \
  --mount source=myvolume,target=/volume1 \
  alpine:3.10.3 tail -f /dev/null
  • --mount source=myvolume,target=/volume1
    → 作成したボリュームをコンテナ内 /volume1 にマウントする
    → これでコンテナ内からボリュームにアクセス可能になり、書き込んだデータが永続化される

  • -d(デーモンモード)
    → コンテナをバックグラウンドで動かし、操作しやすくする

  • --rm
    → コンテナ停止時に自動で削除される
    → ボリュームのデータは残るので安全

  • alpine:3.10.3 tail -f /dev/null
    → 最小限のAlpineイメージを使い、コンテナを長時間起動してボリューム操作だけを行うため


3. コンテナ内でファイル操作

docker container exec vct1 touch /volume1/hello1.txt
  • 実際にボリュームにデータを書き込むことで、永続化を確認する
  • /volume1 に書き込むと、コンテナ削除後もボリュームにファイルが残る

4. 新しいコンテナで同じボリュームを利用

docker container run --rm -d \
  --name vct2 \
  --mount source=myvolume,target=/volume2 \
  alpine:3.10.3 tail -f /dev/null
docker container exec vct2 ls /volume2
# 出力: hello1.txt
  • 複数コンテナで同じデータを共有できることを確認する
  • vct1 で作成した hello1.txt が新しいコンテナ vct2 でも見える
  • データの一貫性や共有方法の理解に役立つ

5. ボリュームの確認

docker volume ls
  • 現在作成されているボリュームを確認できる
  • どのボリュームが存在するか、名前やドライバーを確認して管理するため

6. ボリュームの削除

docker container stop vct2
docker volume rm myvolume
  • 使わなくなったボリュームを削除してディスクを整理する
  • ボリュームを削除すると中のデータも消えるので注意が必要
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?