【问题标题】:Wordpress on Docker (Synology NAS) with different networks具有不同网络的 Docker(Synology NAS)上的 Wordpress
【发布时间】: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


    【解决方案1】:

    用 WORDPRESS_DB_HOST: db 替换这个 WORDPRESS_DB_HOST: db_mysql:3306

    【讨论】:

    • 感谢您的回答。不幸的是,它没有用。我继续收到:这要么意味着您的 wp-config.php 文件中的用户名和密码信息不正确,要么我们无法联系 db 的数据库服务器。这可能意味着您主机的数据库服务器已关闭。其中 db 更改 i 对 Wordpress_host 条目的依赖
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-16
    • 1970-01-01
    相关资源
    最近更新 更多