Mom*_*oke 7 docker docker-compose
我从 docker 开始,不明白卷和配置之间的区别。
https://docs.docker.com/compose/compose-file/#volumes-top-level-element
https://docs.docker.com/compose/compose-file/#configs-top-level-element(在 docker compose 3.3 版本中添加)
例如,如果配置文件用于不同的服务,是否应该定义配置属性?
什么情况下适用?
例如,与卷共享 Apache 根文档 (/usr/local/apache2/htdocs):
version: '3.8'
services:
apache:
image: httpd:2.4
restart: always
ports:
- 8000:80
volumes:
- ./:/usr/local/apache2/htdocs
- php-socket:/run/php
depends_on:
- php-fpm
networks:
- code
php-fpm:
image: php:7.4-fpm
restart: always
ports:
- 9000:9000
volumes:
- ./:/usr/local/apache2/htdocs
- ./.docker/php-fpm/zz-docker.conf:/usr/local/etc/php-fpm.d/zz-docker.conf
- php-socket:/run/php
networks:
- code
volumes:
php-socket:
networks:
code:
Run Code Online (Sandbox Code Playgroud)
与 configs 属性有什么区别?:
version: '3.8'
services:
apache:
image: httpd:2.4
restart: always
ports:
- 8000:80
volumes:
- php-socket:/run/php
configs:
- source: apache-www
target: /usr/local/apache2/htdocs
depends_on:
- php-fpm
networks:
- code
php-fpm:
image: php:7.4-fpm
restart: always
ports:
- 9000:9000
volumes:
- ./.docker/php-fpm/zz-docker.conf:/usr/local/etc/php-fpm.d/zz-docker.conf
- php-socket:/run/php
configs:
- source: apache-www
target: /usr/local/apache2/htdocs
networks:
- code
volumes:
php-socket:
configs:
apache-www:
file: ./
networks:
code:
Run Code Online (Sandbox Code Playgroud)
上面的两个例子有效,但我不明白卷和配置之间的区别?
谁能给我解释一下吗?谢谢 !
添加了 Swarm 模式的配置。它们是添加到 swarm 中的不可变对象,在需要时被推送到工作节点,并作为文件安装在容器中。他们解决了您要挂载的文件可能不在集群中的工作节点上的问题。
如果您不使用 Swarm 模式,则可能不需要任何 v3 语法,并且可以坚持使用 v2 或 compose-spec 并将文件直接挂载为卷。您会发现较新版本的 compose 添加了兼容性功能,可以使用 compose 中的类似功能来处理为 Swarm 编写的 compose 文件,从而有效地将这些文件视为卷挂载。
| 归档时间: |
|
| 查看次数: |
1676 次 |
| 最近记录: |