首页 > 解决方案 > Docker Wordpress 站点中的 URL 问题

问题描述

我想使用 docker 为 wordpress 站点创建一个本地开发环境。所以我有以下 docker-compose 文件:

version: '3'

services:
  db:
    image: mariadb
    restart: on-failure
    environment:
    - MYSQL_DATABASE=${WP_DB_NAME}
    - MYSQL_USER=${WP_DB_USER}
    - MYSQL_PASSWORD=${WP_DB_USER_PASSWORD}
    volumes:
    #- ./db_data:/var/lib/mysql
    - ./mysql_dump/backup.sql:/docker-entrypoint-initdb.d/backup.sql
    - ./mysql_dump/migrate.sql:/docker-entrypoint-initdb.d/migrate.sql
    networks:
    - local

  wordpress:
    image: wordpress
    depends_on:
    - db
    restart: always
    ports:
      - 8080:80
    environment:
    - WORDPRESS_DB_HOST=db
    - WORDPRESS_DB_USER=${WP_DB_USER}
    - WORDPRESS_DB_PASSWORD=${WP_DB_USER_PASSWORD}
    - WORDPRESS_DB_NAME=${WP_DB_NAME}
    volumes: 
    - ./htdocs:/var/www/html
    networks:
      local:
        ipv4_address: 172.23.0.4

networks:
  local:
    driver: bridge
    ipam:
      config:
      - subnet: 172.23.0.0/24

我使用卷来启动 mariadb 与现有的数据库转储。

网站加载正常,但某些 URL 错误:

我检查了管理面板中的常规设置,以及数据库中的值siteurlhome它们是正确的:172.23.0.4。顺便说一下,生产中的网站(没有 docker,但经典的 LAMP 安装)运行良好……</p>

你有什么提示吗?(我对 Web 开发不太熟悉,尤其是 wordpress)

标签: wordpressdocker

解决方案


看起来像是172.23.0.4在 wordpress 设置中指定home并且siteurl以某种方式(虽然不知道为什么)导致了问题。相反,设置值来http://172.23.0.4解决问题。

如果有人有一些解释,请告诉我。


推荐阅读