ansibleのdocker_containerモジュールでデータコンテナを作成して他のコンテナでvolumes_fromでデータコンテナを指定するとデータボリュームに書き込みできない
ansibleで以下のようなデータコンテナを作る。
- name: データコンテナを作成
docker_container:
name: data
image: busybox
volumes:
- mydata:/var/www/one-progress/public:z
以下のようにデータコンテナをvolumes_fromで使用するとzオプションを指定していても書き込みができない。(rootなら可能)
- name: アプリケーションコンテナ
docker_container:
name: app
image: rails
volumes_from:
- data
###解決策 以下のようにvolumesで指定すればいい。データボリュームに名前をつけたらそれが存在していなければ作成し、存在していれば指定されたパスにマウントする。 他のコンテナとデータボリュームを共有する場合にもデータボリューム名を記述すればよい。 zオプションはなくても書き込みできた。
- name: アプリケーションコンテナ
docker_container:
name: app
image: rails
volumes:
- mydata:/var/www/one-progress/public:z