LoginSignup
3
1

More than 3 years have passed since last update.

docker-compose.ymlで名前付きvolumeを使う方法

Posted at

結論

僕もまだあまり理解できてないのでものすごく乱暴な説明なのですが、
下記のようにdocker-compose.ymlファイルを記述すると名前付きvolumeが使えます。

docer-compose.yml
version: '3'

services:
    web:
      build: .

      ...
      volumes:
          - .:/myapp      
          - gem_data:/usr/local/bundle
          #ここと
      ...
volumes:
  gem_data:
  #ここが大事です。

- gem_data:/usr/local/bundle
これが名前付きパスです。

上記コードの下部にある、

volumes:
    gem_data:

これが無いと
ERROR: Named volume "gem_data:/usr/local/bundle" is used in service "gem_data:" but no declaration was found in the volumes section.
とエラーが出てしまい相対パスや絶対パスを使わないと指定できないみたいです。

相対パスなどを使うよりは、名前付きパスを使う方が基本的にはいいみたいです。

参考

Docker上のMySQLのデータをVolumeでホストのディレクトリにマウントすると権限周りで面倒なことになる
https://qiita.com/ysd_marrrr/items/e8a50c43cff87951385c

3
1
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
3
1