Подключение контейнера WordPress к мульти-контейнеру базы данных - PullRequest
0 голосов
/ 02 мая 2020

Мне необходимо создать контейнер из нескольких баз данных MySQL, это было просто, поскольку я следовал этому уроку: https://dzone.com/articles/multiple-mysql-databases-with-one-mysql-container

Теперь я должен запустить свой WordPress Контейнер и подключить его к одной из этих баз данных, я попробовал то, что я уже знаю:

docker run -e WORDPRESS_DB_PASSWORD=pass --network wordpress --name wordpress --link mysqldb:mysql -p 4123:80 -v "$PWD/html":/var/www/html -d wordpress

, где mysqldb - имя контейнера, но безуспешно.

Какой правильный синтаксис для связать контейнер WordPress с одной из этих баз данных? Их два, другой следует использовать для другой цели.

У меня нет свободы использовать два MySQL контейнера, любой совет очень важен, спасибо.

1 Ответ

0 голосов
/ 02 мая 2020

имя при соединении mysqldb:mysql - имя хоста сервера базы данных. В вашем примере это mysql

Вы можете указать /etc/hosts, чтобы подтвердить mysql имя хоста в контейнере приложения wordpress

Во-вторых, вам не нужно строить отдельные контейнеры с несколькими базами данных, вы просто ссылаетесь несколько раз.

# create first mysql database container.
$ docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql
4914c6fbb3e870b530fc5713908cd918ad3d1c43ebbeb460b878857328934f95

# create second mysql database container.
$ docker run --name some-mysql2 -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql
72090be34a5d62ea53edd87e4b513ad5c0c413fe8b223fe36c2aae6938fd77c4

# run your application with links
$ docker run -d --name wordpress --link some-mysql:mysql1 --link some-mysql2:mysql2 wordpress
f1d6fbc2fcf30862efd0a4a4882425e359a2442c1476c0256c338e80a46ae66d

Вы можете проверить имя хоста в контейнере WordPress

$ docker exec -ti f1 bash
root@f1d6fbc2fcf3:/var/www/html# cat /etc/hosts
127.0.0.1   localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.17.0.2  mysql1 4914c6fbb3e8 some-mysql             # <= here is the first mysql hostname
172.17.0.3  mysql2 72090be34a5d some-mysql2            # <= here is the second mysql hostname
172.17.0.4  f1d6fbc2fcf3
root@f1d6fbc2fcf3:/var/www/html#
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...