php – 如何使用docker-compose初始化跨多个容器共享的命名卷
我正在尝试使用docker-compose构建我自己的wordpress-nginx-php_fpm堆栈,但我遇到了命名卷及其初始化的问题.
这是我的docker-compose.yml: version: '2' services: db: #https://hub.docker.com/_/mysql/ image: mysql restart: always volumes: - "wp-db:/var/lib/mysql:rw" - env_file: - "./conf/db/mysql.env" networks: - back nginx: #https://hub.docker.com/_/nginx/ image: nginx restart: always volumes: - "wp-files:/usr/share/nginx/html" - "./conf/nginx:/nginx:ro" - "./conf/tools:/tools:ro" networks: - front - back ports: - "8080:80" environment: - "PHP_FPM_HOST=php-wp:9000" - "PHP_FPM_ROOT_DIR=/var/www/html" command: "bash /tools/wait-for-it.sh php-wp:9000 -t 30 -- bash /tools/detemplatize-it.sh /nginx/nginx.template:/nginx.conf -- nginx -c /nginx.conf" php-wp: #https://hub.docker.com/_/wordpress/ image: "wordpress:fpm" restart: always volumes: - "wp-files:/var/www/html" - "./conf/tools:/tools:ro" env_file: - "conf/wp/wordpress.env" networks: - back command: "bash /tools/wait-for-it.sh db:3306 -t 30 -- php-fpm -F" networks: front: {} back: {} volumes: wp-files: {} wp-db: {} 如您所见,我有2个命名卷. “wp-db”没问题,因为它只用于“db”服务. 我的问题是“wp-files”卷,安装在2个服务(=容器)中 >哪个服务会先将其数据复制到指定的卷? 谢谢. 解决方法
这是我能找到的答案:
首先启动的容器(感谢volume-from,depends-on,…)
不,一旦命名的卷被“初始化”(意味着不再为空),它将覆盖它所附着的每个挂载点.
确实有一个“nocopy”标志,就像在“docker run”文档中一样,但是它似乎不适用于其他标志(“ro”或“rw”).
因此,没有. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |