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】マウント

Posted at

はじめに

Dockerでボリュームをマウントする方法と、ホストのパスをマウントする方法について、それぞれ-v--volume) オプションと --mount オプションを使ってまとめます。

ボリュームとは?

  • Dockerが管理する保存領域
  • コンテナのデータをホストのファイルシステム上に保存する仕組み
  • 下記のコマンドを実行して名前付きボリュームを作成すると、デフォルトで/var/lib/docker/volumes/ 以下に対応するディレクトリが作成される
docker volume create [ボリューム名]

名前付きボリューム

  • 特徴
    • ボリュームに名前を付けて使う
    • データを永続化、複数コンテナ間で共有する場合に向く

-v オプションを使う場合

  • 定義方法
docker run -v [ボリューム名]:[コンテナ内のマウント先パス] [イメージ名]
docker run -v myvolume:/app/data myimage

--mountオプションを使う場合

  • 定義方法
docker run --mount type=volume,source=[ボリューム名],target=[コンテナ内のマウント先パス] [イメージ名]
docker run --mount type=volume,source=myvolume,target=/app./data myimage

匿名ボリューム

  • 特徴
    • ボリュームを名前を付けずに使う
    • 一時的に使いたい場合に向く

-vオプションを使う場合

  • 定義方法
    • [ボリューム名]:[コンテナ内のマウント先] のうち、ボリューム名を省略する
docker run -v [コンテナ内のマウント先パス] [イメージ名]
docker run -v /app/data myimage

--mountオプションを使う場合

  • 定義方法
    • source を省略する
docker run --mount type=volume,target=[コンテナ内のマウント先パス] [イメージ名]
docker run --mount type=volume,target=/app/data myimage

バインドマウント

  • 特徴
    • ホストマシン上の特定ディレクトリやファイルを直接マウントする
    • ホストとコンテナの間で同期される

-vオプションを使う場合

  • 定義方法
docker run -v [ホスト側のパス]:[コンテナ内のマウント先パス] [イメージ名]
docker run -v /host/data:/app/data myimage

--mountオプションを使う場合

  • 定義方法
docker run -mount type=bind,source=[ホスト側のパス],target=[コンテナ内のマウント先パス] [イメージ名]
docker run --mount type=bind,source=/host/data,target=/app/data myimage

参考

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?