这看起来很简单,但老实说我找不到错误,我确信这是很简单的事情。
我这里有我的写作档案:
version: '3.3'
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
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
WORDPRESS_DB_NAME: wordpress
volumes:
db_data: {}只是直接从码头枢纽。但是如果我试图填写我自己的数据,例如,我们把它称为"awordpress“,而不是数据库名"wordpress”。然后整件事就停止了,但为什么?
version: '3.3'
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: awordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
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
WORDPRESS_DB_NAME: awordpress
volumes:
db_data: {}组成输出:
wordpress_1 | Complete! WordPress has been successfully copied to /var/www/html
wordpress_1 |
wordpress_1 | MySQL "CREATE DATABASE" Error: Access denied for user 'wordpress'@'%' to database 'awordpress'
wordpress_1 |
wordpress_1 | WARNING: unable to establish a database connection to 'db:3306'
wordpress_1 | continuing anyways (which might have unexpected results)奇怪的是,它通过环境变量创建了一个数据库"wordpress“,而不是我插入的"awordpress”。为什么它要“忽略”我的变量而创建这个值呢?
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| wordpress |
+--------------------+
5 rows in set (0.00 sec)目标是用我自己的数据自动配置wordpress。我肯定这是非常简单的事情.抱歉,如果这是个愚蠢的问题。我对码头很陌生。提前感谢!
发布于 2020-01-11 16:20:50
当mysql映像在一个空的数据目录上启动时,它将从环境变量初始化它自己。
来自dockerhub上的mysql图像文档页面 (搜索“环境变量”)
请注意,如果您使用已经包含数据库的数据目录启动容器,下面的变量都不会产生任何影响:在容器启动时,任何预先存在的数据库都将始终保持不变。
因此,如果在第一次运行后更改默认数据库的名称,那么db_data卷将包含一个初始化的mysql数据文件系统,并且不会创建这个新数据库。
你有两个选择:
这是相当容易做的第二个选择与码头组成。警告:以下内容将删除以前的任何数据。
首先,停止所有组合服务和,删除它们相关的停靠卷:
docker-compose down -v然后重新启动一切,重新创建所有需要的卷。
docker-compose up -dhttps://stackoverflow.com/questions/59695992
复制相似问题