如何在docker composer v3中替换卷
我想知道以下配置的等效配置,以适合docker-composer.yml的第3版!来自的卷不再有效,因此我是否应该跳过数据卷并将其替换为顶级卷如何在docker composer v3中替换卷,docker,docker-compose,Docker,Docker Compose,我想知道以下配置的等效配置,以适合docker-composer.yml的第3版!来自的卷不再有效,因此我是否应该跳过数据卷并将其替换为顶级卷 version: '2' services: php: build: ./docker-files/php-fpm/. volumes_from: - data working_dir: /code links: - mysql nginx: image: nginx:lates
version: '2'
services:
php:
build: ./docker-files/php-fpm/.
volumes_from:
- data
working_dir: /code
links:
- mysql
nginx:
image: nginx:latest
ports:
- "80:80"
volumes:
- ./nginx/default.conf:/etc/nginx/conf.d/default.conf
volumes_from:
- data
links:
- php
data:
image: tianon/true
volumes:
- .:/code
默认情况下,命名卷允许您在容器之间共享数据。但在重启容器后,在主机上的同一位置存储数据会出现一些问题。但是我们可以使用docker插件来修复它 要迁移到版本3,您需要 1) 安装docker插件(如果要将卷数据存储到主机上的特定位置) 2) 修改
docker compose.yml
version: '3'
services:
php:
build: ./docker-files/php-fpm/.
volumes:
- data:/code
working_dir: /code
links:
- mysql
nginx:
image: nginx:latest
ports:
- "80:80"
volumes:
- ./nginx/default.conf:/etc/nginx/conf.d/default.conf
volumes:
- data:/code
links:
- php
data:
image: tianon/true
volumes:
- data:/code
# If you use local persist plugin
volumes:
data:
driver: local-persist
driver_opts:
mountpoint: /path/on/host/machine/
# Or If you dont want using local persist plugin
volumes:
data:
您还可以使用此卷部分将卷数据存储到主机:
volumes:
data:
external: true #< it means store my data to the host machine
卷:
数据:
外部:true#<表示将数据存储到主机
但是您不能在主机上指定此卷的路径Ok,但是data:service不再起作用了?直接共享主机卷有什么坏处吗?像
volumes:.:/code
只有当数据容器将数据封装在其内部时,您才需要数据容器。在这种情况下,您可以简单地备份此数据,将容器(带有数据)移动到另一台主机。这是。但如果您想使用另一种方法:在主机上存储数据,那么数据容器是不必要的。当您想与其他用户共享您的设置时,为基本功能安装第三方插件(例如,我们在主机上有一个特定的装入点)是不可接受的。docker开发者将docker compose版本3的基本功能保留在docker compose版本3之外,我对此感到非常失望。docker compose版本3可以使用而不是链接我不确定这是否真的回答了问题。您的评论仍然没有解决关于使用纯数据容器的问题。在此配置中,永远不会使用服务数据:…
。(截至2018年5月)