Dockerで「名前付きボリューム」や「匿名ボリューム」という言葉の意味とは?
今回はDockerにおける「名前付きボリューム」や「匿名ボリューム」という言葉の意味についてご紹介していこうと思います。
Dockerで「名前付きボリューム」や「匿名ボリューム」という言葉の意味とは?
実際に見ていただいた方が早いかもしれません。
下記はdocker-compose.ymlの設定で、「名前付きボリューム」と「匿名ボリューム」それぞれになります。
・名前付きボリューム
1 2 3 4 5 6 7 8 |
version: '3' services: test_app: build: . volumes: - front_node_modules:/myapp/node_modules volumes: front_node_modules: |
・匿名ボリューム
1 2 3 4 5 6 |
version: '3' services: test_app: build: . volumes: - ./testApp/node_modules:/myapp/node_modules |
簡単に言うとservicesの外にvolumesを定義してあるのが名前付きボリューム(servicesの外に定義することで、docker-compose upをすると対象の名前のボリュームがプロジェクト直下につくられたりします)、servicesの中にvolumesを定義してあるのが匿名ボリュームです。
名前付きボリュームはアプリケーションで共通で使うものに対して定義すると役立ちます。
test_app1とtest_app2で名前付きボリュームの「front_node_modules」を共通で扱うなどです。
対して匿名ボリュームはアプリケーション単体のみに対して使うと良いかもしれません。
「Volume Trick」と呼ばれているnode_modulesを別のディレクトリに定義する技術がありますが、名前付きボリュームでも匿名ボリュームでもどちらでも機能するそうです。
終わりに
今回はDockerにおける「名前付きボリューム」や「匿名ボリューム」という言葉の意味についてご紹介いたしました。
ディスカッション
コメント一覧
まだ、コメントがありません