跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 水平太差 特来求助 [docker-compose LNMP 数据库连不上]
未分類
5 2 月 2021

水平太差 特来求助 [docker-compose LNMP 数据库连不上]

水平太差 特来求助 [docker-compose LNMP 数据库连不上]

資深大佬 : jaleo 2

做个临时站点 从未学过 docker 听说很方便 于是看了几篇网上教程 复制粘贴后稍作修改 目前情况是:docker-compose 能运行, 各容器能运行,网站能打开 phpinfo,phpmyadmin 能连接上 mariadb 。但是安装 wordpress 时,已经用 phpmyadmin 建了数据库和用户授权。但安装页面填好数据库用户名等信息提交后,提示“There has been a critical error on this website.” 哪位能指点下 可能是哪里出问题了?下面是配置文件 不知道有没有写错的地方?

[目录结构]

|—— html  |—— index.php |—— mariadb  |—— conf.d    |—— db  |—— logs |—— nginx  |—— conf.d     |—— domain    |fullchain.cer & domain.key   |—— default.conf  |—— logs    |—— nginx.conf |—— php  |—— logs  |—— Dockerfile |—— docker-compose.yml 

[ Dockerfile ]

FROM php:7.4-fpm-alpine Run apt install iputils-ping  && docker-php-ext-install mysqli && docker-php-ext-enable mysqli && docker-php-ext-install pdo pdo_mysql 

[ docker-compose.yml ]

version: '3' networks:     lnmp-net:         driver: bridge services:     mariadb:         container_name: mariadb         image: mariadb:10.4         ports:             - 3306:3306         environment:             MYSQL_ROOT_PASSWORD: xxxxxx         volumes:             - /lnmp/mariadb/db:/var/lib/mysql             - /lnmp/mariadb/conf.d:/etc/my.cnf.d             - /lnmp/mariadb/logs:/var/log/mariadb         restart: always         networks:             - lnmp-net     nginx:         container_name: nginx         image: nginx:latest         ports:             - 80:80             - 443:443         volumes:             - /lnmp/html:/usr/share/nginx/html             - /lnmp/nginx/nginx.conf:/etc/nginx/nginx.conf             - /lnmp/nginx/conf.d:/etc/nginx/conf.d             - /lnmp/nginx/logs:/var/log/nginx                  depends_on:             - mariadb             - php         restart: always         networks:             - lnmp-net     php:         container_name: php         build: ./php         image: php:7.4-fpm-alpine         ports:             - 9000:9000         volumes:             - /lnmp/html:/var/www/html             - /lnmp/php/php.ini:/usr/local/etc/php/php.ini             - /lnmp/php/logs:/usr/local/var/log         restart: always         networks:             - lnmp-net     phpmyadmin:         container_name: phpmyadmin         image: phpmyadmin/phpmyadmin         ports:             - 2000:80         restart: always         environment:             PMA_HOST: mariadb         networks:             - lnmp-net 

[/lnmp/nginx/conf.d/default.conf ]

......     root /usr/share/nginx/html;      index index.html index.htm index.php;  error_page   500 502 503 504  /50x.html;     location = /50x.html {   root /usr/share/nginx/html;     }      location ~ .php$ {         fastcgi_pass   php:9000;         fastcgi_index  index.php;         fastcgi_param  SCRIPT_FILENAME  /var/www/html/$fastcgi_script_name;         include        fastcgi_params;     }     location ~ /.ht {         deny all;     } } 

大佬有話說 (8)

  • 資深大佬 : foMM

    nginx 做反代不如试试用 Traefik

    https://www.bilibili.com/video/BV1Pg4y167o9

  • 資深大佬 : Showfom

    安装 WordPress 的时候,hostname 写 mariadb 镜像的内网 IP 地址试试?

  • 主 資深大佬 : jaleo

    @Showfom ip 是 172.21.0.2 试了还是一样
    好像网上的教程大多只涉及到上面的程度 看来没有系统性的学习 临时突击真不行

  • 資深大佬 : Yourshell

    wordpress 开 debug 模式看看

  • 資深大佬 : shahaier

    使用 mariadb 这个名字试试

  • 資深大佬 : mxalbert1996

    project 内部通信的 host 用 service 名

  • 主 資深大佬 : jaleo

    @mxalbert1996
    @shahaier
    数据库的 service 名是 mariadb 吗? 创建用户名时 CREATE USER ‘user’@’localhost’ 这个 localhost 也要用 service 名吗?

  • 資深大佬 : mxalbert1996

    @jaleo 我建议你去读一遍文档看看 @ 后面这个 host 到底是什么意思。另外创建用户一般用环境变量: https://hub.docker.com/_/mariadb

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具