имя при соединении 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#