【问题标题】:Docker Local Wordpress DevelopmentDocker 本地 Wordpress 开发
【发布时间】:2021-10-01 00:46:20
【问题描述】:

我已按照 Wordpress 快速入门教程进行本地开发环境设置。但是,我正在尝试将我的本地环境设置为使用 local.mysite.com 而不是默认的 localhost http://localhost:8080。我已将 local.mysite.com 添加到我的 hosts 文件中,并更新了数据库中的所有 url 以指向 local.mysite.com。但我无法在浏览器中访问该网站。

我已经搜索了一段时间,但我发现的唯一解决方案是我需要向 docker-compose (https://objectpartners.com/2020/09/01/local-wordpress-development-with-docker/) 添加反向代理,但他们没有解释为什么需要这样做。我的理解是端口 80 绑定到我的 wp 图像,因此应该将 http 请求直接路由到它。

希望了解如何正确设置它以使用没有反向代理的自定义 url,或者更好地理解为什么需要一个。

services:
  wp:
    image: wordpress:latest 
    ports:
      - 80:80 
    volumes:
      #- ./config/php.conf.ini:/usr/local/etc/php/conf.d/conf.ini
      - ./wp-app:/var/www/html # Full wordpress project
      - ./wp-content/:/var/www/html/wp-content
    environment:
      DB_HOST: db
      DB_NAME: "*****"
      DB_USER: "*****"
      DB_PASSWORD: "*****"
    depends_on:
      - db

【问题讨论】:

  • 当您输入local.mysite.com 时,您会收到什么错误或消息?此外,如果您运行 docker logs -f wp 然后再次尝试运行 local.mysite.com 以查看您在日志中看到的内容(特别是错误日志)

标签: wordpress docker networking docker-compose


【解决方案1】:

仅当您在 80 以外的其他端口上发布容器时才需要反向代理。

如果下面 docker-compose.yml 中的端口部分显示“8080:80”,则无法将域名映射到容器,因为域名不能指向端口,只能指向 IP 地址。

但是你已经在主机的 80 端口上发布了,所以反向代理似乎没有必要。

看不到您的环境有什么问题。 我可以帮助您的唯一方法是展示一个有效的 Wordpress Docker 环境。

docker-compose.yml

version: '3.9'

services:

  db:
    image: mysql:5.7
    container_name: mysql
    volumes:
      - ./database:/var/lib/mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: word@press
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: abc@123

  wordpress:
    depends_on:
      - db
    image: wordpress:latest
    container_name: wp
    volumes:
      - ./wordpress_files:/var/www/html
    ports:
      - "80:80"
    restart: always
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: abc@123

docker-compose 创建 2 个容器:

  • mysql:运行 MySQL 数据库的容器
  • wp:运行 Wordpress 的容器

目录

创建2个与docker-compose.yml同级的目录:

  • 数据库
  • wordpress_files

创建域名

在您的 /etc/hosts(Mac 和 Linux。不了解 Windows)中创建以下行:

127.0.0.1   local.mysite.com

【讨论】:

    猜你喜欢
    • 2023-03-25
    • 2017-10-10
    • 2016-12-16
    • 1970-01-01
    • 1970-01-01
    • 2017-12-08
    • 2019-01-10
    • 1970-01-01
    • 2021-01-21
    相关资源
    最近更新 更多