Junius L
Junius L

Reputation: 16122

Wordpress Access denied for user root with MySQL container

I'm trying to make MySQL instance available to other containers, I'm following this documentation mysql and this wordpress official documentation, I get this error

MySQL Connection Error: (1045) Access denied for user 'root'@'172.17.0.3' (using password: YES)

Code for MySQL instance

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

Code for WordPress instance

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

How can I successfully link wordpress and mysql containers?

Upvotes: 1

Views: 1968

Answers (2)

Junius L
Junius L

Reputation: 16122

I have solved it by deleting everything and try starting it up again.

docker rm -v spawning-pool # -v Remove the volumes associated with the container

Remove the volume too

docker volume rm hatchery

Then I created the containers again

# 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

Upvotes: 1

code_monk
code_monk

Reputation: 10120

you need to pass in your database connection credentials via environment variables to 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

Upvotes: 1

Related Questions