【问题标题】:How to update wp-config file in Docker如何在 Docker 中更新 wp-config 文件
【发布时间】:2021-03-07 11:02:16
【问题描述】:

我正在尝试将我们的博客从 Wordpress 更改为在 docker 容器内,以便我们可以轻松地在它周围移动。我为此编写了一个 docker-compose 文件,它第一次运行顺利。但是我在配置上犯了一些错误,一开始就错过了在docker-compose文件上写HOMESITEURL。现在,我似乎无法更改wp-config.php。根据 Wordpress,一旦它已经被写入,它就不能从入口点脚本更新。我尝试了很多其他场景:

  1. 我尝试使用docker exec 命令来更新 wp-config.php 文件。 bash 那里没有 vim/nano。

  2. 我删除了所有容器、卷和图像,但它仍然没有改变任何东西。我多次下载并重新上传了撰写文件,但没有任何改变。

这是我的 compose 文件的 sn-p。我现在该怎么办? [我需要更改 home 和 siteurl,因为 Wordpress 将由不同的服务器提供。]

version: '3'

services:
  db:
    image: mysql:8.0
    container_name: db
    restart: unless-stopped
    env_file: .env
    environment:
      - MYSQL_DATABASE=wordpress
    volumes:
      - mysql_db_data:/var/lib/mysql
    command: '--default-authentication-plugin=mysql_native_password'
    networks:
      - app-network

  wordpress:
    depends_on:
      - db
    image: wordpress:5.1.1-fpm-alpine
    container_name: wordpress
    restart: unless-stopped
    env_file: .env
    environment:
      - WORDPRESS_DB_HOST=db:3306
      - WORDPRESS_DB_USER=$MYSQL_USER
      - WORDPRESS_DB_PASSWORD=$MYSQL_PASSWORD
      - WORDPRESS_DB_NAME=wordpress
      - WORDPRESS_CONFIG_EXTRA=
          define('WP_HOME','http://dev.insurance.kothay.com/');
          define('WP_SITEURL','http://dev.insurance.kothay.com/');
    volumes:
      - wordpress_data:/var/www/html
    networks:
      - app-network
  
  webserver:
    depends_on:
      - wordpress
    image: nginx:1.15.12-alpine
    container_name: webserver
    restart: unless-stopped
    ports:
      - "8080:80"
    volumes:
      - wordpress_data:/var/www/html
      - ./nginx-conf:/etc/nginx/conf.d
    networks:
      - app-network
  
volumes:
  wordpress_data:
  mysql_db_data:
  
networks:
  app-network:
    driver: bridge

Docker 消息:

wordpress    | WARNING: environment variable "WORDPRESS_CONFIG_EXTRA" is set, but "wp-config.php" already exists
wordpress    |   The contents of this variable will _not_ be inserted into the existing "wp-config.php" file.
wordpress    |   (see https://github.com/docker-library/wordpress/issues/333 for more details)
w

让我知道我能做什么。提前致谢。

【问题讨论】:

    标签: php wordpress docker docker-compose


    【解决方案1】:
    wordpress    | WARNING: environment variable "WORDPRESS_CONFIG_EXTRA" is set, but "wp-config.php" already exists
    wordpress    |   The contents of this variable will _not_ be inserted into the existing "wp-config.php" file.
    wordpress    |   (see https://github.com/docker-library/wordpress/issues/333 for more details)
    

    这表明您正在使用已初始化的卷重新启动 wordpress。如果您不需要 wordpress 中的现有数据,您可以删除卷,从头开始重新启动,然后使用这些变量:

    docker volume rm ${project}_wordpress_data
    

    其中 project 可能是您当前的目录名称。您也可以运行docker volume ls 来查找卷名。

    要编辑卷中的现有文件,可以使用 vim 启动一个临时容器来编辑文件:

    docker run -it --rm \
      -v ${project}_wordpress_data:/vol -w /vol \
      busybox /bin/sh
    

    【讨论】:

    • 我拒绝了 docker。并运行rmcommand,但我收到以下消息:Error response from daemon: remove shodai-blog-dockerized_wordpress_data: volume is in use - [43ade39ba3a495154fefd9ccd79b2c2c53765482e2c7c4d2859b7051383839ae]我没有任何容器。
    • @O_o 检查未运行的容器。 docker ps -a
    猜你喜欢
    • 2015-08-11
    • 1970-01-01
    • 1970-01-01
    • 2022-07-19
    • 2014-04-05
    • 1970-01-01
    • 1970-01-01
    • 2013-12-10
    • 2014-03-21
    相关资源
    最近更新 更多