当前位置:   article > 正文

修改podman容器内wordpress连接的数据库地址_wordpress修改数据库地址

wordpress修改数据库地址

之前在博文容器中搭建WordPress中介绍了如何在容器中搭建WordPress,后面虚拟中调整了IP地址,原来连接的数据库地址10.1.1.6变成了10.1.1.8,导致WordPress容器因连接不上数据库而不能正常运行。

wordpress 02:04:54.37 Welcome to the Bitnami wordpress-nginx container
wordpress 02:04:54.37 Subscribe to project updates by watching https://github.com/bitnami/bitnami-docker-wordpress-nginx
wordpress 02:04:54.38 Submit issues and feature requests at https://github.com/bitnami/bitnami-docker-wordpress-nginx/issues
wordpress 02:04:54.38 
wordpress 02:04:54.38 INFO  ==> ** Starting WordPress setup **
wordpress 02:04:54.39 INFO  ==> Validating settings in NGINX_* env vars
wordpress 02:04:54.39 INFO  ==> No custom scripts in /docker-entrypoint-initdb.d
wordpress 02:04:54.40 INFO  ==> Initializing NGINX
realpath: /bitnami/nginx/conf/vhosts: No such file or directory
wordpress 02:04:54.42 INFO  ==> Configuring PHP options
wordpress 02:04:54.42 INFO  ==> Setting PHP expose_php option
wordpress 02:04:54.43 INFO  ==> Validating settings in MYSQL_CLIENT_* env vars
wordpress 02:04:54.45 WARN  ==> The WordPress configuration file '/opt/bitnami/wordpress/wp-config.php' is not writable. Configurations based on environment variables will not be applied for this file.
wordpress 02:04:54.52 INFO  ==> Restoring persisted WordPress installation
wordpress 02:04:54.53 INFO  ==> Trying to connect to the database server
wordpress 02:06:31.63 ERROR ==> Could not connect to the database
wordpress 02:07:11.30 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

通过命令sudo podman inspect wordpress查看wordpress容器的信息,可以看到配置Env以及CreateCommand中的"WORDPRESS_DATABASE_HOST=10.1.1.6"

同时在容器中使用命令less /opt/bitnami/wordpress/wp-config.php查看数据库的配置DB_HOST也是10.1.1.6

define( 'DB_HOST', '10.1.1.6:3308' );
  • 1

前面的日志中有一条:

WARN  ==> The WordPress configuration file '/opt/bitnami/wordpress/wp-config.php' is not writable. Configurations based on environment variables will not be applied for this file.
  • 1

WordPress 的配置文件/opt/bitnami/wordpress/wp-config.php不可写,基于环境变量的配置不能应用于此文件。

使用命令:sudo podman exec -it wordpress bash进入容器Shell,通过如下图所示命令查看wp-config.php的权限为只读:

在这里插入图片描述

需要使用命令chmod 640 /bitnami/wordpress/wp-config.php添加写权限。

本来是想着修改/opt/bitnami/wordpress/wp-config.php中的DB_HOST即可。
在容器内Shell执行sed -i 's/10.1.1.6/10.1.1.8/g' /opt/bitnami/wordpress/wp-config.php替换IP地址,但是替换后,重启容器,再查看wp-config.php中的DB_HOST还是10.1.1.6

原来是因为容器是开启的,关闭时配置又写回去了。

需要先关闭容器,将配置复制出来:

sudo podman cp wordpress:/opt/bitnami/wordpress/wp-config.php .
  • 1

修改了,再复制回去:

sudo podman cp ./wp-config.php wordpress:/opt/bitnami/wordpress/wp-config.php
  • 1

再启动容器就可以了。

不过,为了让整个容器中的相关地址都改为10.1.1.8,特别是容器的配置信息。由于是使用的podman,没有直接可修改的文本配置,不像docker可以直接修改配置文件,podman需要使用工具修改/var/lib/containers/storage/libpod/bolt_state.db中的内容。

在修改前一定要把所有podman容器全部关闭,使用命令:

sudo service podman stop
  • 1

停止podman服务后,再复制bolt_state.db出来。它是使用的一种叫bolt的小众数据库,流行于Go语言。笔者在博文改变podman的存储路径中介绍过使用boltdbweb来修改podman的存储路径,不过这次再使用它来修改容器的配置就不好使了。要想修改更深层次的配置,这工具不行。

笔者在网上找到了另一款国人写的工具bolt-manager,可以达到目的。将bolt-manager.exebolt_state.db放在同一目录,运行bolt-manager.exe,它会自动打开浏览器。选择bolt_state.db数据库,再选择ctr中WordPress容器的ID4a02449c5009开头的(容器ID可以通过sudo podman ps -a查看),如下图所示,可以看到WORDPRESS_DATABASE_HOST=10.1.1.6

在这里插入图片描述

在这里插入图片描述
这里要修改为10.1.1.8
在这里插入图片描述

修改的界面就没前面查看界面友好了,需要费点神去找一下,可以使用浏览器的搜索功能:
在这里插入图片描述
修改完成后,保存一下。

再将修改后的bolt_state.db复制回去,开启podman服务,

service podman start
  • 1

开启容器即可。

由于bolt_state.db的重要性,强烈建议在修改前进行备份。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/神奇cpp/article/detail/922934
推荐阅读
相关标签
  

闽ICP备14008679号