Dockerのバインド・マウントを利用する[-v]

2019年3月30日

Dockerのバインド・マウントを利用して、「ホスト側のディレクトリ」と「コンテナ側のディレクトリ」を接続しアクセスできるようにします。

 

 

 

今回はubuntuイメージを利用してコンテナを起動します。適当なディレクトリにおいて、下記コマンドを実行します(本記事ではmacOSにてDocker for Macを利用)。

-v」オプションで「ホスト側ディレクトリ:コンテナ側ディレクトリ」のように指定します。上記ではホスト側(macOS)の$PWD(カレントディレクトリ)と起動したコンテナ側の/tmpディレクトリをマウントしています。

 

これでお互いのディレクトリを接続してファイル等を共有している状態となります。

 

実際にコンテナ内のtmpディレクトリにて、sample.txtファイルを作成してみます。

 

docker runコマンドを実行したホスト側でも、sample.txtが生成されているのが確認できました。

 

今度はホスト側でファイルを作成してみます。下記ではsample2.txtファイルを作成しています。

 

コンテナ側でもsample2.txtが生成されているのが確認できます。

 

 

-vオプションに指定する「ホスト側ディレクトリ」が、もしディレクトリではない指定の場合は「データボリューム」が自動的に作成されてデータの永続化がされていることに気をつけて下さい。

 

もし下記のようなコマンドを実行した場合は、ホスト側のディレクトリではなく、testvolumeという名前のボリュームが作成されてコンテナ側のtmpディレクトリ内のデータが保持されるようになります。

データボリュームの機能については下記の関連ページをご覧下さい。

 

関連ページ

Data Volume Container について [Dockerの永続化]

 

 

LINEで送る
Pocket

Copyright © 2019 思考の葉 All Rights Reserved.  プライバシーポリシー