1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

docker-compose.ymlでvolumes_fromが使えない時

Posted at

結論

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では廃止されています。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?