如何在docker-composer v3中replacevolumes_from

我想知道下面的configuration相当于docker-composer.yml的版本3! volumes_from不再有效,所以我应该跳过数据卷并将其replace为顶级卷?

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)安装本地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 

但是你不能在主机上指定这个卷的path