如何使用命名卷将数据从主机共享到容器?
我试图分享代码从主机到php
和nginx
容器。 这是我docker-compose.yml
:
version: "3" services: php: image: php:fpm container_name: php ports: - 9000:9000 volumes: - php_data:/var/www/html/ # configs - ./php/config:/usr/local/etc/php nginx: image: nginx ports: - 80:80 volumes: - php_data:/var/www/html # logs - ./nginx/logs:/var/log/nginx # configs - ./nginx/config/default.conf:/etc/nginx/conf.d/default.conf:ro - ./nginx/config/nginx.conf:/etc/nginx/nginx.conf:ro volumes: php_data: ./code
运行docker-compose up
的错误是:
错误:在文件“./docker-compose.yml”中,卷“php_data”必须是映射而不是string。
我该如何让./code
-compose知道,我需要./code
与nginx
和php containers
共享?
Docker说它需要一个映射,所以你需要在你的卷中设置./code:{map}之类的东西
我想你在这里有两个select。 由于您在两个容器上共享代码映射到/ var / www / html。
选项1在卷中设置/ var / www / html地图:
volumes: php_data: ./code:/var/www/html
然后将/ var / www / html更改为/在您的容器中。
选项2
volumes: php_data: ./code:/