Docker Volume

公開日:2019-06-13
最終更新:2019-06-13

通常、コンテナ内のデータはコンテナが停止した時点で消失してしまう。
コンテナの状態にかかわらずデータを保持する機能がある。

データボリューム(Data volume)

データを永続化できる場所のこと。
ホスト側のディレクトリをコンテナ側のディレクトリに割り当てることができる。

コンテナにマウント-vして使う。

docker run -itd --name cent -v C:/Users/bigfoot/dockerdir:/dockerdir centos:latest  

-v ホスト側のディレクトリ:コンテナ内のディレクトリ

  • docker inspectコマンドでマウントの状態を確認できる
    docker inspect cent
    "Mounts": [  
      {  
          "Type": "bind",  
          "Source": "/host_mnt/c/Users/bigfoot/dockerdir",  
          "Destination": "/dockerdir",  
          "Mode": "",  
          "RW": true,  
          "Propagation": "rprivate"  
      }  
    ]  

source ホスト側の場所
Destination コンテナ内の場所

ホストのディレクトリを指定しなかった場合

docker run -itd --name cent -v /webapp centos:latest
勝手にどっかの場所をsourceとして選択する。

"Mounts": [  
    {  
        "Type": "volume",  
        "Name": "51e373073b25b51677dbcbbc2da1735d47fce82c9fd8b1a43cacd35fdbf5abd9",  
        "Source": "/var/lib/docker/volumes/51e373073b25b51677dbcbbc2da1735d47fce82c9fd8b1a43cacd35fdbf5abd9/_data",  
        "Destination": "/webapp",  
        "Driver": "local",  
        "Mode": "",  
        "RW": true,  
        "Propagation": ""  
    }  
]  

ホストのディレクトリをマウントするってぇことは、そこでファイル共有できるの?

できます。

git bash でのバグ(?)

docker run -itd --name cent -v /webapp centos:latest
git bashでホストのディレクトリを指定せずコンテナを立てると、
コンテナ側のディレクトリがGit以下の場所に作られてしまう。

 "Mounts": [  
    {  
        "Type": "volume",  
        "Name": "226ed3818e6396d9e748c95c63aa4acd94c746daecd2b3bac1da1ac7f39abd1e",  
        "Source": "/var/lib/docker/volumes/226ed3818e6396d9e748c95c63aa4acd94c746daecd2b3bac1da1ac7f39abd1e/_data",  
        "Destination": "C:/Program Files/Git/webapp",  
        "Driver": "local",  
        "Mode": "",  
        "RW": true,  
        "Propagation": ""  
    }  
]  

公式Doc:
https://docs.docker.com/storage/volumes/

記事が少しでもいいなと思ったらクラップを送ってみよう!
0
+1
@bigfootの研修ログとか、備忘録とか。

よく一緒に読まれている記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう
目次をみる

技術ブログをはじめよう

Qrunch(クランチ)は、ITエンジニアリングに携わる全ての人のための技術ブログプラットフォームです。

技術ブログを開設する

Qrunchでアウトプットをはじめよう

Qrunch(クランチ)は、ITエンジニアリングに携わる全ての人のための技術ブログプラットフォームです。

Markdownで書ける

ログ機能でアウトプットを加速

デザインのカスタマイズが可能

技術ブログ開設

ここから先はアカウント(ブログ)開設が必要です

英数字4文字以上
.qrunch.io
英数字6文字以上
ログインする