问题得到docker使用wordpress正确访问我的数据库

我是新来的docker工人 – 但是我正在设置一个本地testing环境来玩一些WordPress的东西。

所以我去了docker站点,并提出了一个默认的docker.yml文件,如何让它容易。

我只做了一些改变,但大部分是一个简单的文件。

version: '3' services: db: image: mysql:5.7 volumes: - db_data:/var/lib/mysql2 restart: always ports: - "3306:3306" environment: MYSQL_ROOT_PASSWORD: somerootwordpresspw MYSQL_DATABASE: testdatabase MYSQL_USER: wordpress MYSQL_PASSWORD: wordpress wordpress: volumes: - ./WP-TEST/:/var/www/html/ depends_on: - db image: wordpress:latest ports: - "80:80" restart: always environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_USER: wordpress WORDPRESS_DB_PASSWORD: wordpress volumes: db_data: 

当我用上面的.yml文件运行docker docker-compose up ,我看到这个错误:

MySQL "CREATE DATABASE" Error: Access denied for user 'wordpress'@'%' to database 'wordpress'

我觉得奇怪,因为我命名数据库testdatabase ,所以它为什么要创build一个名为wordpress的数据库?

当我连接到SQL Pro时,我可以看到testdatabase ,但根据控制台它试图创buildwordpress数据库。

我如何才能连接到我的数据库,而不是经常无法创buildwordpress

所以我想我明白了。

非常简单。 在我的.yml文件的wordpress部分,我需要包含WP_DB_NAME: testdatabase

通过这样做,它使用我命名的testdatabase来安装wordpress。

希望这可以帮助那些可能偶然发现的人。

现在.yml文件如下所示:

 version: '3' services: db: image: mysql:5.7 volumes: - db_data:/var/lib/mysql2 restart: always ports: - "3306:3306" environment: MYSQL_ROOT_PASSWORD: somerootwordpresspw MYSQL_DATABASE: testdatabase MYSQL_USER: wordpress MYSQL_PASSWORD: wordpress wordpress: volumes: - ./WP-TEST/:/var/www/html/ depends_on: - db image: wordpress:latest ports: - "80:80" restart: always environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_NAME: testdatabase WORDPRESS_DB_USER: wordpress WORDPRESS_DB_PASSWORD: wordpress volumes: db_data: