Как создать два проекта Drupal в localhost из wodby? - PullRequest
0 голосов
/ 28 апреля 2020

Я создал проект drupal на основе docker4drupal [https://github.com/wodby/docker4drupal] [1] Я изменил docker -compose.yml внутри и разделил его на разные файлы. Это моя окончательная структура проекта, 3 репозитория, в каждом из которых есть файл docker -compose.yml

project-zak
  ----  docker-compose.yml
  ---- .env
BDD 
  ----  docker-compose.yml
traefik
  ---- docker-compose.yml

. До этого уровня он работал отлично. Тем не менее, когда я попытался добавить новый проект "project-zak-2", похожий на "project-zak", он не сработал и затронул прежний проект.

вы найдете здесь содержимое docker -compose.yml для каждого репо, поэтому не могли бы вы помочь найти причину и корневую причину, и как я могу создать два проекта drupal на моем локальном хосте?

project-zak:

version: "3.3"
services:
  php:
    image: wodby/drupal:8-4.17.5
    container_name: "php"
    environment:
      PHP_FPM_CLEAR_ENV: "no"
      PHP_SENDMAIL_PATH: /usr/sbin/sendmail -t -i -S mailhog:1025
      DB_HOST: mariadb
      DB_PORT: 3306
      DB_USER: drupal
      DB_PASSWORD: drupal
      DB_NAME: drupal
      DB_DRIVER: mysql
      PHP_FPM_USER: wodby
      PHP_FPM_GROUP: wodby
      COLUMNS: 80 
    volumes:
      - ./:/var/www/html
    networks:
      - backend

  nginx:
    image: wodby/nginx:1.17-5.8.11
    container_name: "nginx"
    depends_on:
      - php
    environment:
      NGINX_STATIC_OPEN_FILE_CACHE: "off"
      NGINX_ERROR_LOG_LEVEL: debug
      NGINX_BACKEND_HOST: php
      NGINX_SERVER_ROOT: /var/www/html/web
      NGINX_VHOST_PRESET: drupal8
    volumes:
      - ./:/var/www/html
    labels:
      - "traefik.enable=true" 
      - "traefik.http.routers.nginx-web-zakaria.rule=Host(`zakaria.project.localhost`)"
      - "traefik.http.routers.nginx-web-zakaria.entrypoints=web"  
    networks:
      - web
      - backend

networks:
  web:
    external: true
  backend:
    external: true

BDD:

version: "3.3"

services:
  mariadb:
    image: wodby/mariadb:10.4-3.8.1
    container_name: "mariadb"
    stop_grace_period: 30s
    environment:
      MYSQL_ROOT_PASSWORD: password
      MYSQL_DATABASE: drupal
      MYSQL_USER: drupal
      MYSQL_PASSWORD: drupal
    volumes:
      - ./mariadb-init:/docker-entrypoint-initdb.d # Place init .sql file(s) here.
      - ./mysql:/var/lib/mysql # Use bind mount
    networks:
      - backend

networks:
  backend:
    external: true`

Traefik:

version: "3.3"

services:

  traefik:
    image: traefik:v2.0
    restart: always
    container_name: traefik
    ports:
      - "82:82" # <== http
      - "8080:8080" # <== :8080 is where the dashboard runs on
      - "443:443" # <== https
    command:
      - --api.insecure=true 
      - --api.dashboard=true 
      - --api.debug=true 
      - --log.level=DEBUG  
      - --providers.docker=true 
      - --providers.docker.exposedbydefault=false 
      - --providers.file.filename=/dynamic.yaml 
      - --providers.docker.network=web 
      - --entrypoints.web.address=:82 
      - --entrypoints.web-secured.address=:443 
      - --certificatesresolvers.mytlschallenge.acme.tlschallenge=true 
      - --certificatesresolvers.mytlschallenge.acme.email=theafkdeveloper@gmail.com 
      - --certificatesresolvers.mytlschallenge.acme.storage=/letsencrypt/acme.json 
    volumes:
      - ./letsencrypt:/letsencrypt # <== Volume for certs (TLS)
      - /var/run/docker.sock:/var/run/docker.sock # <== Volume for docker admin
      - ./dynamic.yaml:/dynamic.yaml # <== Volume for dynamic conf file, 
    networks:
      - web 
    labels:
      - "traefik.enable=true" 
      - "traefik.http.routers.api.rule=Host(`monitor.example.com`)" 
      - "traefik.http.routers.api.service=api@internal"  
networks:
  web:
    external: true

Porject-zak-2:

version: "3.3"
services:
  php_2:
    image: wodby/drupal:8-4.17.5
    container_name: "php_2"
    environment:
      PHP_FPM_CLEAR_ENV: "no"
      PHP_SENDMAIL_PATH: /usr/sbin/sendmail -t -i -S mailhog:1025
      DB_HOST: mariadb
      DB_PORT: 3306
      DB_USER: drupal
      DB_PASSWORD: drupal
      DB_NAME: drupal
      DB_DRIVER: mysql
      PHP_FPM_USER: wodby
      PHP_FPM_GROUP: wodby
      COLUMNS: 80 
    volumes:
      - ./:/var/www/html
    networks:
      - backend

  nginx_2:
    image: wodby/nginx:1.17-5.8.11
    container_name: "nginx_2"
    depends_on:
      - php_2
    environment:
      NGINX_STATIC_OPEN_FILE_CACHE: "off"
      NGINX_ERROR_LOG_LEVEL: debug
      NGINX_BACKEND_HOST: php_2
      NGINX_SERVER_ROOT: /var/www/html/web
      NGINX_VHOST_PRESET: drupal8
    volumes:
      - ./:/var/www/html
    labels:
      - "traefik.enable=true" 
      - "traefik.http.routers.nginx-web-zakaria.rule=Host(`zakaria.project_2.localhost`)"
      - "traefik.http.routers.nginx-web-zakaria.entrypoints=web" 
    networks:
      - web
      - backend

networks:
  web:
    external: true
  backend:
    external: true
...