如何在Docker中更新wp-config文件

时间:2021-03-07 作者:O_o

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

我试着用docker exec 更新wp配置的命令。php文件。bash没有vim/nano。

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

这是我的撰写文件的一个片段。我现在该怎么办?[我需要更改主页和网站URL,因为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
让我知道我能做什么。提前谢谢。

1 个回复
SO网友:O_o

最终奏效的解决方案是使用docker-compose down 命令我没有拆开集装箱,但我仍然需要把它们关小。一旦我这样做了,我就会运行命令docker volume ls 列出所有卷并删除其中包含Wordpress数据的卷docker volume rm <volume_name>.

对于Wordpress,自wp-config 文件在初始编辑后无法更改,我想这是一个解决方案,但不是唯一的解决方案。我运行的是一个相对较小的博客服务器,大部分数据将始终处于备份状态。因此,如果我需要更改任何Wordpress设置或更新wp-config 文件