如果我在 docker-compose 中使用它,它工作正常:
db_node_domain:
image: mysql:5.7
volumes:
- ./db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: mystrongpassword
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
container_name: wp_db
networks:
- "proxy-tier"
wordpress:
depends_on:
- db_node_domain
image: wordpress:latest
ports:
- "8080:80"
expose:
- "8080"
restart: always
environment:
VIRTUAL_HOST: blog.mydomain.com
LETSENCRYPT_HOST: blog.mydomain.com
LETSENCRYPT_EMAIL: [email protected]
WORDPRESS_DB_HOST: db_node_domain:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
container_name: wordpress
networks:
- "proxy-tier"
我想为 MYSQL_USER 和 WORDPRESS_DB_USER 使用不同的用户名和更强的密码,但是如果我对它们进行任何更改,我会从 nginx 获得 502 Bad Gateway。我不能改变这些吗?
那是因为你已经建立了数据库。当您docker-compose up
第一次运行时,这些值已设置:
environment:
MYSQL_ROOT_PASSWORD: mystrongpassword
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
这部分:
volumes:
- ./db_data:/var/lib/mysql
表示它是一个持久化数据,停止容器后,下次运行时,数据将可用,不会设置新的数据。所以你有两个选择:
docker-compose.yml
用新密码修改文件docker-compose
再次运行docker exec -it <CONTAINER-ID> /bin/bash
很明显,新构建更简单,更好的选择。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句