我正在尝试设置在 docker 上运行的 wordpress 网站。它有 3 个服务,数据库,ssl_certficate,wordpress。
wordpress+数据库按预期工作。但是当我添加第三个服务时,即添加 SSL 证书。我收到了意想不到的错误。
docker-compose.yml 看起来像这样
version: '3.0'
services:
#Database
mariadb:
image: mariadb:10.4
volumes:
- ./database:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: databasename
MYSQL_USER: user
MYSQL_PASSWORD: user
networks:
- shopme
#Wordpress
wordpress:
depends_on:
- mariadb
image: wordpress:latest
restart: always
volumes:
- './:/var/www/html'
- ./uploads.ini:/usr/local/etc/php/conf.d/uploads.ini
environment:
WORDPRESS_DB_HOST: mariadb:3306
WORDPRESS_DB_NAME: databasename
WORDPRESS_DB_USER: user
WORDPRESS_DB_PASSWORD: user
networks:
- shopme
ssl:
depends_on:
- mariadb
- wordpress
build:
context: ./apache2/
dockerfile: Dockerfile
ports:
- '80:80'
- '443:443'
volumes:
- ./:/var/www/html
- /home/ubuntu/certs:/var/certs
- /home/ubuntu/configs:/etc/apache2/sites-enabled
links:
- mariadb
networks:
- shopme
networks:
shopme:
volumes:
mariadb:
Docker 文件如下所示:
FROM php:7.2-apache
# Setup Apache2 mod_ssl
RUN a2enmod ssl
# Working DIR
WORKDIR /var/www/html
当我尝试访问该网站时,出现以下错误:
<块引用>致命错误:未捕获的错误:调用未定义的函数 mysql_connect() 在 /var/www/html/wp-includes/wp-db.php:1688
但是,当我从 ssl 服务卷中删除 ./:/var/www/html
时,我收到了不同的错误
禁止您无权访问此资源
与禁止错误相关的日志:
<块引用>无法提供目录 /var/www/html/: 没有匹配的 DirectoryIndex (index.php,index.html) 找到,以及服务器生成的目录索引 被选项指令禁止
我只想创建一个单独的服务来放置我的证书并使用那个(ssl)容器打开端口(80 和 443)。所以 wordpress 会与 SSL Container 通信以添加证书。
任何线索可能是什么问题?我真的很感激哪怕是一点点帮助。
提前致谢。