6
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Dockerのデータマウントについて

Last updated at Posted at 2019-11-22

Dockerのデータ管理方法

volumes

ホスト上では直接操作しない領域をマウントさせたい場合に使用
Linuxであれば /var/lib/docker/volumes に作成される

volumeの作成

dockerコンテナ内で

$ docker volume create [volume名]

volumeの一覧

$ docker volume ls

volumeの詳細確認

$ docker volume inspect [volume名]

volumeの削除

$ docker volume rm [volume名]

volumeのマウント -vを使う場合

$ docker run -itd --name [コンテナ名] -v [volume名]:[コンテナ上にマウントするパス] [利用したいイメージ]:[利用したいバージョン]

volumeを複数のコンテナで共有する場合は

$ docker run -itd --name [コンテナ名] -v [volume名]:[コンテナ上にマウントするパス]:ro [利用したいイメージ]:[利用したいバージョン]

のように編集権限を設定できる

volumeのマウント --mountを使う場合(推奨)

$ docker run -itd --name [コンテナ名] --mount source=[volume名],target=[コンテナ上にマウントするパス] [利用したいイメージ]:[利用したいバージョン]

volumeを複数のコンテナで共有する場合は

$ docker run -itd --name [コンテナ名] --mount source=[volume名], destination=[コンテナ上にマウントするパス],readonly [利用したいイメージ]:[利用したいバージョン]

のように編集権限を設定できる

bind mount

ボリュームとは違い、ユーザーの管理しているファイルやディレクトリ

マウント -vを使用する場合

$ docker run -itd --name [コンテナ名] -v [ホスト上のパス]:[コンテナ上にマウントするパス] [利用したいイメージ]:[利用したいバージョン]

-vを使用した場合、ホスト上のパスが存在しない場合は新しくディレクトリが作成されます

マウント --mountを使用する場合

docker run -itd --name [コンテナ名] --mount type=bind,source=[ホスト上のパス],target=[コンテナ上にマウントするパス] [利用したいイメージ]:[利用したいバージョン]

--mountの場合はホスト上にパスが存在しない場合エラーで怒られます

tmpfs

メモリ領域をディレクトリとしてマウント
コンテナ停止するとホストでも消えてしまうので、永続的なデータではなく
一時的に保持するような消えても問題ないデータのみ保存する

マウント

$ docker run -itd --name [コンテナ名] --mount type=tmpfs,destination=[コンテナ上にマウントするパス],tmpfs-size=[メモリサイズ(単位byte)],tmpfs-mode=[権限の設定 700など] [利用したいイメージ]:[利用したいバージョン]
6
7
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
6
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?