docker compose-更改docker hub值不起作用?
这看起来很简单,但我真的找不到错误,我相信这是非常简单的事情 我在这里有我的撰写文件:docker compose-更改docker hub值不起作用?,docker,docker-compose,Docker,Docker Compose,这看起来很简单,但我真的找不到错误,我相信这是非常简单的事情 我在这里有我的撰写文件: version: '3.3' services: db: image: mysql:5.7 volumes: - db_data:/var/lib/mysql restart: always environment: MYSQL_ROOT_PASSWORD: somewordpress MYSQL_DATABASE: w
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。我相信这是一件非常简单的事我监督。。。
抱歉,如果这是个愚蠢的问题。我对docker很陌生。
提前谢谢 当
mysql
映像在空数据目录上启动时,它将从环境变量初始化自身
从(搜索“环境变量”)
请注意,如果使用已包含数据库的数据目录启动容器,则以下变量都不会产生任何影响:在容器启动时,任何预先存在的数据库都将始终保持不变
因此,如果在第一次运行后更改默认数据库的名称,那么db_data
卷将已经包含一个初始化的mysql数据文件系统,并且不会创建这个新数据库
您有两个选择:
docker-compose down -v
然后重新启动一切,重新创建所有需要的卷
docker-compose up -d
mysql
映像在空数据目录上启动时,将从环境变量初始化自身
从(搜索“环境变量”)
请注意,如果使用已包含数据库的数据目录启动容器,则以下变量都不会产生任何影响:在容器启动时,任何预先存在的数据库都将始终保持不变
因此,如果在第一次运行后更改默认数据库的名称,那么db_data
卷将已经包含一个初始化的mysql数据文件系统,并且不会创建这个新数据库
您有两个选择:
docker-compose down -v
然后重新启动一切,重新创建所有需要的卷
docker-compose up -d