【10】【Docker】ファイルの永続化_-vオプションについて
Dockerのコマンドでよく-v を見かけますよね。
このオプションの意味はなんでしょうか??
この記事は-ファイルの永続化と-v オプションの説明です。
ファイルを永続化する
コンテナを破棄すると当たり前ですが、データが全て失われます。
では、失いたくないデータはどのように扱えばいいのでしょうか?
データを失わないためにはファイルを永続化する必要があります。
ファイルを永続化するにはマウントを行います。
では、ファイルのマウントを実際にやってみましょう。
実験用のディレクトリweb01dataを作り、このフォルダ内に仮のindex.htmlを作る
<html>
<body>
<div> mount test</div>
</body>
</html>
フォルダweb01をマウントしてweb01コンテナの起動
docker run -dit --name web01 -v /Users/username/web01data:/usr/local/apache2/htdocs/ -p 8080:80 httpd:2.4
このコマンドは、
ローカル環境の/Users/username/web01data
を(:)
Dockerコンテナの/usr/local/apache2/htdocs/にマウントしています。
このようにデータをコンテナ側ではなく、ホスト側においておくと、データが失われることはありません。
マウントを利用する場面
データの永続化、データの共有、設定ファイル受け渡し。
データの共有
1つの場所を2つ以上のコンテナで同時にマウントすることができます。こうすることによって、コンテナ間で簡単にデータの共有ができます。
設定ファイルの受け渡しや作業フォルダの受け渡し。
あるフォルダや設定ファイルをマウントしておきます。ホスト側の設定ファイルを書き換えるだけで、コンテナの設定を変えることができ、作業効率が上がります。
例えば、apache2の設定ファイルは下記コマンドで確認できます。
docker exec -it web01 /bin/bash
ls /usr/local/apache2/conf
ホスト側で/usr/local/apache2/confフォルダを作り、/usr/local/apache2/confにマウントするとDockerを起動しなくても設定変更ができるようになります。
Dockerに関する記事の一覧
参考文献
さわって学ぶクラウドインフラ docker基礎からのコンテナ構築
最後に
私がブログを書く目的は、素晴らしい本や、素晴らしい方々の技術記事を知って頂きたいからです。ぜひ、上記の参考文献を見て下さい。(noteなので広告とかは一切ありません。)
現在、株式会社grabssに行くために最後の悪あがきをしています!!
現在の進行状況
この記事は10件目の投稿。目標まで後40件。
よろしければ、スキボタン及びサポートお願いします。勉強の励みになります。