【发布时间】:2021-12-13 21:37:06
【问题描述】:
首先,对不起我的英语不好,希望你能理解我。
我有以下任务。
我想在我的 Synology nas 上运行(可能更多)wordpress 安装。因此,我安装了 Docker 并运行 portainer 来创建一些东西。
我的主要想法是创建以下内容:
- 使用单独的 wordpress 安装创建不同的容器
- 创建 mysql 容器来托管不同的 wordpress 数据库,每个数据库都适用于每个 wordpress 应用程序
- 对于 wordpress 容器,有一个名为“app_network”(网桥,可附加)的自己的网络
- 对于 mysql 容器,还有另一个网络称为“db_backend”(网桥,可附加)
到目前为止,上帝。目前我创建了一个 WP 容器、mysql 容器和两个网络。一切似乎都很好。
- wordpress 容器是使用 docker-compose 创建的(栈在 portainer 中)
- mysql 容器是用 docker-compose (stack in portainer) 创建的
- 我在 mysql 容器中手动为 wordpress 创建了一个数据库 - 容器上的本地登录完美。
- mysql容器在网络db_backend中
- woodpress 容器位于网络 app_network 中,并另外连接到 db_backend 网络(assigend ip 看起来正确)
但是...如果我调用 wordpress 页面,我得到“建立数据库连接时出错”
我的 yaml 看起来像这样:
#mysql.yaml
version: '3.9'
services:
db:
image: mysql:latest
restart: on-failure:3
volumes:
- /volume1/docker/databases:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: mysuperstrongpassword
container_name: db_mysql
networks:
- db_backend
networks:
db_backend:
driver: bridge
external: true
#worppess.yaml
version: '3.9'
services:
#frontend
wp_app:
image: wordpress:latest
restart: on-failure:3
ports:
- '49200:80'
- '49201:443'
volumes:
- /volume1/docker/wp_app/wp_t:/var/www/html
environment:
WORDPRESS_DB_HOST: db_mysql:3306 //wrong entry? tried hostname, ip, service
WORDPRESS_DB_NAME: mydb
WORDPRESS_DB_USER: myuser
WORDPRESS_DB_PASSWORD: mypassword
networks:
- db_backend
- app_network
networks:
#172.168.29.1/24
db_backend:
driver: bridge
external: true
#172.168.30.1/24
app_network:
driver: bridge
external: true
毕竟我能够阅读有关 docker、docker-networking 和 docker compose 的信息,我认为我的解决方案应该可以工作,除了数据库连接错误之外,所有这些都可以部署而没有任何错误:( ...
网络之间的容器连接方式是否正确? 我可以用这些信息编辑 wp-config.php 并将它们添加到 wordpress 包含吗?
谁能帮忙?
【问题讨论】:
标签: wordpress docker docker-compose synology