gpt4 book ai didi

mysql - 将 Wordpress 站点移动到 Docker : Error establishing DB connection

转载 作者:可可西里 更新时间:2023-11-01 08:02:19 24 4
gpt4 key购买 nike

我最近一直在使用 Wordpress 和 Docker 创建新站点,并且对它的工作原理有一定的了解,现在我希望将一些已建立的站点迁移到 Docker 中。

我一直在遵循这个指南:

https://stephenafamo.com/blog/moving-wordpress-docker-container/

我已按照应有的方式设置了所有内容,但是当我访问我的 domain.com:1234 时,我收到错误消息“建立数据库连接时出错”。我已按照建议将 wp-config.php 中的“DB HOST”更改为“mysql”,我引入的站点中的所有数据库详细信息都是正确的。

我已经附加到 mysql 容器并检查了数据库是否存在以及正确的用户,还通过 mysql CLI 确保 pw 是正确的。

SELinux 设置为宽容,我没有更改任何目录/文件所有权或权限,对于后者,目录全部为 755,文件为 644,这是它们应该的。

编辑:我应该提到数据库/数据及其下的所有内容似乎都属于用户/组“polkitd input”而不是 root。

当我在端口 1234 上浏览网站时,除了 WP 容器的 500 条错误消息外,Docker 日志并没有真正告诉我太多信息(正如预期的那样)。

这是 docker-compose 文件:

version: '2'

services:
example_db:
image: mysql:latest
container_name: example_db
volumes:
- ./database/data:/var/lib/mysql
- ./database/initdb.d:/docker-entrypoint-initdb.d
restart: always
environment:
MYSQL_ROOT_PASSWORD: password123 # any random string will do
MYSQL_DATABASE: mydomin_db # the name of your mysql database
MYSQL_USER: my domain_me # the name of the database user
MYSQL_PASSWORD: password123 # the password of the mysql user

example:
depends_on:
- example_db
image: wordpress:php7.1 # we're using the image with php7.1
container_name: example
ports:
- "1234:80"
restart: always
links:
- example_db:mysql
volumes:
- ./src:/var/www/html

欢迎提出建议,因为我没有想法!

最佳答案

在新版本的 docker-compose 中,它看起来像这样(如果你不想使用 PhpMyAdmin,你可以忽略它):

version: '3.7'

volumes:
wp-data:
networks:
wp-back:

services:

db:
image: mysql:5.7
volumes:
- wp-data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: rootPassword
MYSQL_DATABASE: wordpress
MYSQL_USER: wp-user
MYSQL_PASSWORD: wp-pass
ports:
- 8889:3306
networks:
- wp-back

phpmyadmin:
depends_on:
- db
image: phpmyadmin/phpmyadmin
environment:
PMA_HOST: db
MYSQL_USER: wp-user
MYSQL_PASSWORD: wp-pass
MYSQL_ROOT_PASSWORD: rootPassword
ports:
- 3001:80
networks:
- wp-back

wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- 8888:80
- 443:443
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: wp-user
WORDPRESS_DB_PASSWORD: wp-pass
volumes:
- ./wordpress-files:/var/www/html
container_name: wordpress-site
networks:
- wp-back

数据库卷是命名卷 wp-data,而 wordpress html 是绑定(bind)到当前目录 ./wordpress-files 的绑定(bind)挂载。

关于mysql - 将 Wordpress 站点移动到 Docker : Error establishing DB connection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52186125/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com