Описание: Я пытаюсь найти способ запустить 2 контейнера Drupal, используя docker compose на одной машине. В настоящее время у меня возникает проблема с «привязкой» каждого хранилища Drupal к отдельному местоположению в MySQL.
Вот следующий YAML-файл для Docker Состав:
---
version: '3'
services:
drupal:
build: ./
image: geerlingguy/drupal:latest
environment:
DRUPAL_DATABASE_HOST: drupal-mysql
DRUPAL_DATABASE_PORT: 3306
DRUPAL_DATABASE_NAME: drupal
DRUPAL_DATABASE_USERNAME: drupal
DRUPAL_DATABASE_PASSWORD: drupal
# Generate a salt with: `php -r "echo bin2hex(random_bytes(25));"`
DRUPAL_HASH_SALT: db0de8a1556aa5348f87cfc950cd2c9641713d46e9412c8b05
ports:
#assign random port on the host
- "80"
depends_on:
- mysql
restart: always
# new
working_dir: /var/www/html
# Uncomment the volumes line and set to the local path of your Drupal
# installation, if you need to work with a local codebase.
volumes:
# - ~/Sites/drupal-container:/var/www/html:rw,delegated
- /Sites/drupal-container:/var/www/html:rw,delegated
drupal2:
build: ./
image: geerlingguy/drupal:latest
environment:
DRUPAL_DATABASE_HOST: drupal-mysql
DRUPAL_DATABASE_PORT: 3306
DRUPAL_DATABASE_NAME: drupal
DRUPAL_DATABASE_USERNAME: drupal
DRUPAL_DATABASE_PASSWORD: drupal
# Generate a salt with: `php -r "echo bin2hex(random_bytes(25));"`
DRUPAL_HASH_SALT: db0de8a1556aa5348f87cfc950cd2c9641713d46e9412c8b05
ports:
#assign random port on the host
- "80"
depends_on:
- mysql
restart: always
working_dir: /var/www/html
volumes:
- /Sites/drupal-container2:/var/www/html:rw,delegated
mysql:
image: mysql:5.7
container_name: drupal-mysql
# new
volumes:
- /Sites/drupal-container:/var/lib/mysql
environment:
MYSQL_RANDOM_ROOT_PASSWORD: 'yes'
MYSQL_DATABASE: drupal
MYSQL_USER: drupal
MYSQL_PASSWORD: drupal
ports:
- "3306:3306"
networks:
# Define the default network
# Services will use this automatically without having a networks key
default:
external:
name: macvlan_net
FYI сеть с именем macvlan _net определяется вручную вне файла YAML. (это позволяет мне получить доступ к контейнеру Drupal с использованием IP-адреса)
Проблема: когда я запускаю docker -compose, я получаю 2 контейнера Drupal: Drupal 1 - 132.177.14.1 Drupal 2 - 132.177.14.2
но, как только я запускаю первоначальную настройку на Drupal 1, Drupal 2, похоже, отражает ту настройку, которую я также сделал.
Ожидаемый результат: Я должен приветствовать первоначальную настройку при посещении Drupal 2.