我想知道以下配置相当于docker-composer.yml的第3版! volumes_from不再有效所以我应该跳过数据卷并将其替换为顶级卷吗?
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
答案 0 :(得分:9)
默认情况下,命名卷允许您在容器之间共享数据。但是在重新启动容器后将数据存储在主机上的相同位置会有一些麻烦。但我们可以使用local-persist docker插件来修复它。
要迁移到版本3,您需要
1)安装local-persist 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
但是您无法在主机上指定此卷的路径