php – 如何使用docker-compose初始化跨多个容器共享的命名卷

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了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个服务(=容器)中

>哪个服务会先将其数据复制到指定的卷?
>第二个容器是否会覆盖第一个容器的数据?
>如何在某个地方“初始化”命名卷,并使用它(之后)安装它的2个容器?我听说过“nocopy”旗帜.
>我是否有义务使用其他内容(如数据容器)而不是命名卷?

谢谢.
注意:(一切都在同一个物理主机上)

解决方法

这是我能找到的答案:

首先启动的容器(感谢volume-From,dePEnds-on,…)

不,一旦命名的卷被“初始化”(意味着不再为空),它将覆盖它所附着的每个挂载点.

确实有一个“nocopy”标志,就像在“docker run”文档中一样,但是它似乎不适用于其他标志(“ro”或“rw”).

因此,没有.

脚本宝典总结

以上是脚本宝典为你收集整理的php – 如何使用docker-compose初始化跨多个容器共享的命名卷全部内容,希望文章能够帮你解决php – 如何使用docker-compose初始化跨多个容器共享的命名卷所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。