【问题标题】:Wordpress - cannot change username or password in docker-composeWordpress - 无法在 docker-compose 中更改用户名或密码
【发布时间】:2021-02-12 22:38:33
【问题描述】:

如果我在 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: foo@mydomain.com
   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。我不能改变这些吗?

【问题讨论】:

    标签: wordpress docker-compose


    【解决方案1】:

    这是因为您已经构建了数据库。 当您第一次运行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. 注销并提交此新更改

    很明显 new build 是更简单更好的选择。

    【讨论】:

    • 这样排序了,谢谢。我还是 Docker 的新手,没想到之前的数据会持久化 :)
    • @mharran 没问题。此docker-compose.yml 仅用于测试。我们有一个更好、更灵活的docker-compose.ymlWordPress 如果您需要,请告诉我
    猜你喜欢
    • 2019-10-28
    • 1970-01-01
    • 1970-01-01
    • 2019-05-10
    • 2016-08-22
    • 1970-01-01
    • 1970-01-01
    • 2018-02-04
    • 2012-09-15
    相关资源
    最近更新 更多