概要
前回 docker のデータボリュームの使い方を紹介しました
今回は別の使い方として別コンテナの領域をコンテナのデータボリュームとして使う方法を紹介します
環境
- Mac OS X 10.12.3
- Docker on Mac 17.03.0-ce, build 60ccb22
使い方
docker run --name c1 -p 8080:80 -v /share nginx
で「/share」をデータボリュームとして作成します
次に別のコンテナを作成します
このときに初めに起動したコンテナを --volumes-from
オプションを付与して起動します
docker run --name c2 -p 8081:80 --volumes-from c1 nginx
こうすることで c1 コンテナでマウントした /share 領域が c2 領域でもマウントされています
動作確認
docker exec -it c2 /bin/bash
で、c2 コンテナに入って touch /share/hoge.txt
します
その後で
docker exec -it c1 /bin/bash
をして /share 配下を確認すると hoge.txt が存在することが確認できると思います
root@32896c0881c4:/# ls /share/
hoge.txt
最後に
docker のデータボリュームで別コンテナのマウント領域を使用する方法を紹介しました
この機能はボリュームコンテナと呼ばれる機能でデータを管理する専用のコンテナを作ることでデータの管理を一元化できるメリットがあります
ある一つのコンテナだけデータを永続化する機能を持っており、他のコンテナはそのコンテナを参照するだけになります
すべてのコンテナがデータを永続化する領域をマウントする必要がなくなるので管理が容易になります
0 件のコメント:
コメントを投稿