Docker 使用MySQL容器的root用户的Wordpress访问被拒绝

Docker 使用MySQL容器的root用户的Wordpress访问被拒绝,docker,docker-container,Docker,Docker Container,我试图使MySQL实例可用于其他容器,我遵循此文档和此官方文档,我得到了此错误 MySQL连接错误:(1045)用户'root'@'172.17.0.3'的访问被拒绝(使用密码:是) MySQL实例的代码 docker run -d --restart on-failure -v hatchery:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=Kerrigan \ -e MYSQL_DATABASE=zerglings

我试图使MySQL实例可用于其他容器,我遵循此文档和此官方文档,我得到了此错误

MySQL连接错误:(1045)用户'root'@'172.17.0.3'的访问被拒绝(使用密码:是)

MySQL实例的代码

docker run -d --restart on-failure -v hatchery:/var/lib/mysql \
           -e MYSQL_ROOT_PASSWORD=Kerrigan \
           -e MYSQL_DATABASE=zerglings --name spawning-pool mysql
WordPress实例的代码

docker run -d --name lair -p 8080:80 --link spawning-pool:mysql wordpress

如何成功链接wordpress和mysql容器?

您需要通过环境变量将数据库连接凭据传递给wordpress:

docker run -d --name lair -p 8080:80 --link spawning-pool:mysql \
    -e WORDPRESS_DB_HOST=mysql \
    -e WORDPRESS_DB_NAME=zerglings \
    -e WORDPRESS_DB_PASSWORD=zerglings wordpress

我已通过删除所有内容并尝试重新启动来解决此问题

docker rm -v spawning-pool # -v Remove the volumes associated with the container
也删除该卷

docker volume rm hatchery
然后我再次创建了容器

# create the volume
docker volume create hatchery

# MySQL instance
docker run -it -d --restart on-failure -v hatchery:/var/lib/mysql \
           -e MYSQL_ROOT_PASSWORD=Kerrigan \
           -e MYSQL_DATABASE=zerglings --name spawning-pool mysql

# creating wordpress
docker run -d --name lair -p 8080:80 --link spawning-pool:mysql \
           -e WORDPRESS_DB_HOST=mysql -e WORDPRESS_DB_NAME=zerglings 
           -e WORDPRESS_DB_PASSWORD=Kerrigan wordpress