Wordpress - 无法在 docker-compose 中更改用户名或密码

姆哈兰

如果我在 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

表示它是一个持久化数据,停止容器后,下次运行时,数据将可用,不会设置新的数据。所以你有两个选择:

  • 新建
    1. 删除数据(或者可能是图像)
    2. docker-compose.yml用新密码修改文件
    3. docker-compose再次运行
  • 手动更改密码等
    1. 运行数据库容器
    2. 登录到容器,例如 docker exec -it <CONTAINER-ID> /bin/bash
    3. 修改密码等
    4. 注销并提交此新更改

很明显,新构建更简单,更好的选择。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章