Я установил 2 узла, один хост докер + трафик для 2 экземпляров WordPress.Я хочу, чтобы мои экземпляры были доступны одновременно с двумя отдельными доменными именами.Используются 3 файла docker-compose: 1 для traefik - 1 внешняя сеть (NW1) 1 для стека wordpress 1 (домен1) - (NW1 + внутренний NW2) 1 для стека wordpress 2 (domain2) - (NW1 + внутренний NW3)
В настоящее время у меня путаница между базами данных, возможно, из-за сети: если я запускаю WordPress 1 compose-файл -> все в порядке,.Я начинаю wordpress 2: wordpress 1 база данных больше не используется wordpress1.Я прекращаю docker-compose wordpress2, снова wordpress1 доступ к БД и могу подключиться к wp-admin как обычно.
Конечно, я создал 2 отдельные внутренние сети для БД wp1 и БД wp2, которые я проверял с помощью inspect,
Бэкэнд-сеть Wordpress 1 1: «Подсеть»: «172.18.0.0/16», «Шлюз»: «172.18.0.1»;wordpress 2 Бэкэнд-сеть 2: «Подсеть»: «192.168.80.0/20», «Шлюз»: «192.168.80.1»
Как сделать так, чтобы мои 2 экземпляра Wordpress были изолированы и работали одновременно?
Я пытался изменить сеть (используя мост или хост), используя внутренние флаги, создавая внешнюю сеть или используя Docker-compose сеть и т. Д. ... Ничего не изменилось ...
Примерконфигурация стека WordPress (файл YML):
version: '3'
networks:
#domain2internal:
# driver: bridge
# external: false
# internal: true
domain2internal:
external:
name: domain2
prometheus:
external:
name: dockerprometheus_back-tier
services:
domain2db:
container_name: domain2db
image: 'mariadb:latest'
volumes:
- '/storage/db/domain2:/var/lib/mysql'
# - '/storage/db/prometheus/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf'
restart: unless-stopped
environment:
- MYSQL_ROOT_PASSWORD=xxxx
- MYSQL_USER=mariadb_wp
- MYSQL_PASSWORD=xxx
- MYSQL_DATABASE=domain2_wp
# - DB_PATH_HOST=/storage/db/domain2
# - ALLOW_EMPTY_PASSWORD=yes
expose:
- 3306
networks:
- domain2internal
wpdomain2wp:
image: 'wordpress:latest'
wpdomain2wp:
image: 'wordpress:latest'
volumes:
- '/storage/www/www.domain2.asia:/var/www/html'
- './uploads.ini:/usr/local/etc/php/conf.d/uploads.ini'
- /etc/passwd:/etc/passwd:ro
- /etc/group:/etc/group:ro
#- './wp-content:/var/www/html/wp-content'
depends_on:
- domain2db
environment:
- WORDPRESS_DB_HOST=domain2db
- WORDPRESS_DB_PORT_NUMBER=3306
- WORDPRESS_DB_USER=mariadb_wp
- WORDPRESS_DB_PASSWORD=xxxxxx
- WORDPRESS_DB_NAME=domain2_wp
- MYSQL_PORT_3306_TCP=3306
working_dir: /var/www/html
labels:
- "traefik.entrypoint=https"
- "traefik.frontend.rule=Host:www.domain2.asia, domain2.co, project.domain2.asia"
- "traefik.frontend.redirect.regex=^https?://domain2.asia/(.*)"
- "traefik.frontend.redirect.replacement=https://www.domain2.asia/$${1}"
- "traefik.frontend.redirect.permanent=true"
- "traefik.backend=wordpress"
- "traefik.docker.network=prometheus"
- "traefik.enable=true"
- traefik.port=80
networks:
- prometheus
- domain2internal
restart: unless-stopped