Discuz!Q 容器的更多配置说明?

#Discuz!Q 容器的更多配置说明?

如何将数据保存到容器外部 本容器支持以下三个外部映射目录:

  • 数据库文件,映射到 /var/lib/mysqldb/
  • Discuz! Q的配置与存储目录,映射到 /var/lib/discuz/
  • SSL证书文件,映射到 /etc/nginx/certs/,其中要求存在两个文件 discuz.crtdiscuz.key。如果不使用SSL协议,请不要配置此目录,并且不映射 443 端口。

因此,如果如果您想长期使用容器来运行 Discuz! Q,建议在启动容器的时候加入这三个参数进行映射。

例如数据库文件,在本地(宿主机)上,想保存到 /data/mysql-data,Discuz! Q的运行数据,保存到 /data/discuz,SSL证书文件放在 /data/certs/discuz.crt/data/certs/discuz.key,同时不想对外开放 80 端口,那启动容器的命令就是:

docker run -d --restart=always \
  -p 443:443 \
  -v /data/discuz:/var/lib/discuz \
  -v /data/mysql-data:/var/lib/mysqldb \
  -v /data/certs:/etc/nginx/certs \
  ccr.ccs.tencentyun.com/discuzq/dzq:latest

启动之后,访问 https://<域名>/install 就可以开始安装,并正常使用。

WARNING

请一定要访问外部用户将要访问的协议( http://https:// ) 加 域名/install 进行安装,否则会导致自动获取的站点 URL 配置不正确,站点工作不正常。

基于容器的升级

只要将数据保存到了容器外部,容器就可以升级。在升级前,要将原容器先停止并删除(执行此命令时,一定要确保自己已经将数据保存到了容器外部)。

docker stop <容器 ID>
docker rm <容器 ID>

其中的<容器 ID>,可以通过 docker ps 命令看到。
然后用以下命令下载最新版本镜像:

docker pull ccr.ccs.tencentyun.com/discuzq/dzq:latest

再使用上次启动相同的命令重新启动即可。

如果需要执行升级文档中要求的其它升级命令,请先登录容器

docker exec -it <容器 ID> /bin/bash

然后就可以执行升级文档中要求的相关的命令,例如:

cd /var/www/discuz
 php disco migrate --force

基于容器的一些其它配置

  • 如果您想对 mysql 进行管理,可选择以下两种方法之一:
    • 登录进容器,用 mysql 命令进行管理 docker exec -it <容器id> /bin/bash
    • 将 3306 端口暴露到外面,通过外部工具连上去进行管理。在启动时,加一个 -p 3306:3306
  • 如果您想通过外部的负载均衡进行 SSL 卸载,可开放容器的 80 端口,不开放 443 端口即可。
  • Nginx 的配置文件,位于容器的 /etc/nginx/nginx.conf 下,如果需要修改,可通过 -v 映射自己的配置文件,覆盖这个文件。
    • 例如您本地的配置文件为 /data/nginx.conf ,可以在上面的启动命令中,加入映射: -v /data/nginx.conf:/etc/nginx/nginx.conf,即可覆盖系统原来内置的 Nginx 配置文件。
  • php-fpm 的配置文件,位于容器的 /etc/php/7.2/fpm/pool.d/www.conf,也可同样映射修改。
  • 控制 PHP 上传大小的文件,位于容器的 /etc/php/7.2/fpm/conf.d/30-upload-size.ini, 当前设置为20M,可同样映射修改。

转载请注明出处:https://www.onexin.net/discuzq-docker/

相关文章:

1、Discuz!Q 升级 v2.3.210202 版本后,进行红蓝主题切换时报错 Warning: shell_exec() has been disabled for security reasons in 如何解决?
https://www.onexin.net/discuzq-v2-3-210202-warning-shell_exec-ha/

2、Discuz!Q 安装后,首屏无限加载如何解决?
https://www.onexin.net/discuzq-load/

3、Discuz!Q 安装后图片不能显示(没使用对象存储)怎么办?
https://www.onexin.net/discuzq-storage/

4、Discuz!Q 如何数据备份?
https://www.onexin.net/discuzq-backup/

5、Discuz!Q 如何更改域名domain?
https://www.onexin.net/discuzq-domain/

Leave a Reply