gpt4 book ai didi

php - docker-compose - 无法连接到 MySQL 数据库

转载 作者:行者123 更新时间:2023-11-29 02:44:41 27 4
gpt4 key购买 nike

TL;DR:WordPress 无法使用以下 docker-compose 配置连接到 MySQL。 建立数据库连接时出错。为什么?

我正在使用以下 docker-compose.yml 文件来设置 LEMP 开发环境。

docker-compose.yml

version: '3'
services:
nginx:
image: nginx
ports:
- '8080:80'
volumes:
- ./nginx/config/default.conf:/etc/nginx/conf.d/default.conf
- ../wordpress:/var/www/wordpress
- ./nginx/log:/var/log/nginx
depends_on:
- php
php:
image: php:fpm
ports:
- 9000:9000
volumes:
- ../wordpress:/var/www/wordpress
depends_on:
- mysql
mysql:
image: mysql
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: secret
MYSQL_DATABASE: ado
MYSQL_USER: ado
MYSQL_PASSWORD: secret
volumes:
- ./mysql/data:/var/lib/mysql

(我也手动执行以下安装php-mysql)

// inside php (`docker-compose exec php sh`)
docker-php-ext-install mysqli

// back on my local machine
docker restart <php's container id>

注意:我尝试同时使用 localhostmysql 作为 MySQL 的主机。

最佳答案

好的。知道了。

我在 mysql 服务中手动创建数据库后添加了 MySQL 环境变量。

  MYSQL_ROOT_PASSWORD: secret
MYSQL_DATABASE: ado
MYSQL_USER: ado
MYSQL_PASSWORD: secret

我不是 100% 确定为什么,但是在删除 ./mysql/data 中的 MySQL 数据之后,执行 docker-compose down 然后 docker-再次组合 -d(并在 PHP 服务中使用 docker-php-ext-install mysqli 安装 php-mysqli),一切正常。

然后,出现了 WordPress 安装屏幕。安装后......我得到了一个空白的白屏!

嗯,那是因为我的 WordPress 文件不包含默认主题。

进入 /wp-admin 并激活一个主题后,一切终于……成功了。

为了完整起见,这是位于 ./nginx/config/default.conf 中的我的 nginx 配置:

server {
listen 80 default_server;
listen [::]:80 default_server;

root /var/www/wordpress;
index index.php index.html;

location = /favicon.ico {
log_not_found off;
access_log off;
}

location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}

location ~ /\. {
deny all;
}

location ~* /(?:uploads|files)/.*\.php$ {
deny all;
}

location / {
try_files $uri $uri/ /index.php?$args;
}

rewrite /wp-admin$ $scheme://$host$uri/ permanent;

location ~ \.php$ {
include /etc/nginx/fastcgi_params;
fastcgi_pass php:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
}
}

关于php - docker-compose - 无法连接到 MySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44573986/

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