【发布时间】:2020-08-08 07:19:01
【问题描述】:
说明:
我试图找到一种在单台机器上使用 docker compose 运行 2 个 Drupal 容器的方法。我目前在将每个 Drupal 存储“绑定”到 MySQL 中的单独位置时遇到问题。
这是 Docker Compose 的以下 YAML 文件:
---
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
仅供参考,名为 macvlan_net 的网络是在 YAML 文件之外手动定义的。 (这允许我使用 IP 地址访问 Drupal 容器)
问题:
当我运行 docker-compose up 时,我得到了 2 个 Drupal 容器:
Drupal 1 - 132.177.14.1
Drupal 2 - 132.177.14.2
但是一旦我在 Drupal 1 上运行了初始设置,Drupal 2 似乎也在镜像我所做的设置。
预期结果:
访问 Drupal 2 时,我应该会看到初始设置。
【问题讨论】:
标签: docker drupal docker-compose content-management-system drupal-8