結論
docer compose ver3ではvolumes_fromが廃止されているのでトップレベルでvolumesを定義すると同じことが実現できます。
volumes_fromは何をやっているか?
docker-compose.ymlには複数のコンテナを定義する場合があります。この別のコンテナのボリュームを持ってきたい、マウントしたいという場面でvolumes_fromを使用すると実現できます。
前提・状況
dockerのwp-cliを使用したい場面があり、検索していたらvolumes_fromを使用しているサイトが出てきました。
ソース
参考にしたものdocker-compose.yml一部抜粋
wordpress:
depends_on:
- mysql
image: wordpress:latest
volumes:
- wordpress_data:/var/www/html
cli:
image: wordpress:cli
container_name: cli
volumes_from:
- wordpress
volumes:
wordpress_data:
これだとエディタ(PHPstorm)で編集している時点で赤く警告を出してくれていました。
以下のように編集して自分の環境では使うことができました。
wordpress:
depends_on:
- mysql
image: wordpress:latest
volumes:
- wordpress_data:/var/www/html
cli:
image: wordpress:cli
volumes: wordpress_data
volumes:
wordpress_data:
※【参考】遭遇したエラー
最初以下のように設定したらエラーがでました。
wordpress:
depends_on:
- mysql
image: wordpress:latest
volumes:
- wordpress_data:/var/www/html
cli:
image: wordpress:cli
container_name: cli
volumes: wordpress
volumes:
wordpress_data:
volumesにコンテナ名を指定しているので当然ですが(汗
Error response from daemon: invalid mount config for type "volume": invalid mount path: 'wordpressimage' mount path must be absolute
参考サイト
とても助かりました。感謝です。
docker compose公式バージョン3では廃止されています。