我想知道以下与docker-composer.yml版本3相适应的配置!volume_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
默认情况下,命名卷允许您在容器之间共享数据。但是重新启动容器后,将数据存储在主机上的同一位置会有些麻烦。但是我们可以使用local- persist docker插件进行修复。
要迁移到版本3,您需要
1)安装本地持久性 docker插件( 如果要将卷数据存储到主机上的特定位置 )
2)修改 docker-compose.yml
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
但是您不能在主机上为此卷指定路径