データボリューム・コンテナー

https://thinkit.co.jp/story/2015/09/15/6384

前回の「ホストとコンテナでディレクトリを共有する」ではデータボリュームを作成する場所としてホスト側のパスを明示的に指定していました。

データボリューム・コンテナーは、ホスト側のパスを指定するのではなくて、コンテナーを指定することで指定したコンテナーのデータボリュームを共有することが可能になります。

目次

  1. 実行
    1. volumes-from オプションについて
    2. 動作確認
  2. 参考リンク

実行

–volumes-from オプションについて

データボリューム・コンテナーを作成する場合には –volumes-form オプションを利用します。

<container> で指定したコンテナの Data Volume を全部マウントしてコンテナを起動する

--volumes-from コンテナ名

動作確認

#作業ディレクトリ作成
mkdir -p /tmp/data-volume-container

#作業ディレクトリへ移動
cd /tmp/data-volume-container

#マウントするディレクトリとファイルを作成
mkdir -p source
#空ファイル作成
touch source/test.txt

#centos7 としてコンテナ作成。データボリュームとして直下のディレクトリにホストの/tmp/と
#コンテナ内の/tmp/testをマウントする
sudo docker run -it -d \
--name centos7 \
-v /tmp/data-volume/source:/tmp/test \
centos:centos7

#centos7-from としてデータボリューム・コンテナー用のコンテナ作成。
#先ほど作成した centos7 コンテナのデータボリュームを参照できるようにする
sudo docker run -it -d \
--name centos7-from \
--volumes-from centos7 \
centos:centos7

#centos7 に接続
sudo docker exec -it centos7 bash

#データボリュームの中身を確認
ls -alt /tmp/test
total 16
drwxrwxrwt 1 root root  4096 Aug 29 23:35 ..
drwxr-xr-x 2 1001 users 4096 Aug 23 02:53 .
-rw-r--r-- 1 1001 users    4 Aug 23 02:53 test2.txt
-rw-r--r-- 1 1001 users    4 Aug 23 02:52 test.txt

#centos7-from に接続
sudo docker exec -it centos7-from bash

#centos7コンテナの中身と同じか確認する
ls -alt /tmp/test/
total 16
drwxrwxrwt 1 root root  4096 Aug 29 23:36 ..
drwxr-xr-x 2 1001 users 4096 Aug 23 02:53 .
-rw-r--r-- 1 1001 users    4 Aug 23 02:53 test2.txt
-rw-r--r-- 1 1001 users    4 Aug 23 02:52 test.txt

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です