问题得到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:
- docker上的Nginx默认页面
- Docker群集:REST API可以通过端口3001访问,但不能通过networking服务器访问
- 如何在AspNetCore网站Docker-Container中使用Docker命令?
- 容器命令不能被调用
- 在使用Docker-machine重新configurationdocker客户端后,如何将其设置回Docker for Windows hyperv
- 对于Windows的Docker总是陷于解压
- 创build表格作为select工作,即使执行GTIA一致性
- 为docker-client for java设置docker中容器的端口
- docker工人撰写 – 添加到LAMP的Python