我需要构建一个多数据库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容器的自由,任何建议都非常感谢,谢谢。
发布于 2020-05-02 13:13:15
链接mysqldb:mysql时的名称是数据库服务器的主机名。在您的示例中,它是mysql
您可以在应用程序容器wordpress中使用cat /etc/hosts来确认mysql主机名。
其次,你不必构建一个独立的多数据库容器,你只需链接几次即可。
# 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#https://stackoverflow.com/questions/61554652
复制相似问题