概述
项目挂载目录,是将宿主机上必要的工程文件与容器中的文件进行关联的方式。用于实现数据持久化、文件快速查看等功能。
本文简单介绍如何准备运维项目的挂载目录。
准备挂载目录
运维平台部署的FineReport项目,重要文件均外挂。请提前在主应用服务器和组件服务器的空闲磁盘下,新建好挂载目录。
1)查看服务器磁盘空间
命令:df -h,找出可用空间较大的挂载点
例如本示例中,服务器最合适的挂载目录为/home目录下
2)新建文件夹
使用 mkdir 命令创建文件夹(本示例在/home目录下创建一个名叫fanruan的文件夹):mkdir /home/fanruan
该目录位置/home/fanruan,即为部署运维项目时,节点配置中的「挂载路径」
注:禁止直接使用/、/usr、/root、/usr/local四个目录作为挂载路径,可在对应位置新建文件夹使用
3)清空ACL规则
ACL用于精细化地控制不同用户或用户组对文件和目录的访问权限。
如果准备的挂载目录配置了ACL规则,部署完成后,docker的data-root目录会自动继承ACL配置,从而导致各种各样的权限问题,比如容器无法启动等。
因此建议移除挂载目录的所有 ACL 条目,仅保留传统的 UNIX 权限(请修改/home/fanruan为你的安装目录)。
setfacl -b /home/fanruan/
4)配置目录权限
安装运维项目时,需要在挂载目录新增、编辑文件
对于准备的项目安装目录,请指定服务器用户为该文件夹的所有者
chown -R 用户名 /项目挂载目录绝对路径
例如本示例中,指定/home/fanruan目录的所有者为dev:chown -R dev /home/fanruan
对于准备的项目安装目录,请确保服务器用户有该文件夹的读写执行权限
chmod -R 755 /项目挂载目录绝对路径
例如本示例中,指定/home/fanruan目录的所有者有该文件夹的读写执行权限:chmod -R 755 /home/fanruan
外挂内容简介
当项目部署成功后,在/挂载目录/fanruanxxx/文件夹下,存放的即为项目各个组件的外挂内容。
只有这些外挂的内容,才能持久化,不会因为容器升级/重启,导致文件丢失。
请勿在/挂载目录/fanruanxxx/fr的文件夹下新建文件夹,会因为未持久化而丢失。
如需上传资源,可上传到子文件夹中,建议优先上传至/挂载目录/fanruanxxx/fr/help文件夹中。
外挂目录下文件夹 | 对应容器内路径 | 说明 |
---|---|---|
fr 此部分内容,集群每个主应用节点下存储一份,内容完全相同 | ||
classes | /usr/local/tomcat/webapps/webroot/WEB-INF/classes | 工程调用的默认和自定义class文件 |
config | /usr/local/tomcat/webapps/webroot/WEB-INF/config | 平台调用的配置库(finedb)相关文件 其中deployment_list.yaml,记录了组件安装的相关docker命令 |
customlib | /usr/local/tomcat/webapps/webroot/WEB-INF/customlib | 工程定制/外部引入的JAR包 |
local | /usr/local/tomcat/webapps/webroot/WEB-INF/local | 存放新引擎的编译文件 |
logs | /usr/local/tomcat/webapps/webroot/logs | swift日志(即logdb) |
mount | /usr/local/tomcat/mount | 存放setenv.sh文件,用于设置工程的环境变量和启动参数 |
plugins | /usr/local/tomcat/webapps/webroot/WEB-INF/plugins | 插件相关文件 |
ROOT | /usr/local/tomcat/webapps/ROOT | 存储企业微信域名校验文件等必要信息 |
tomcat_logs | /usr/local/tomcat/logs | Tomcat通用日志 |
help | /usr/local/tomcat/webapps/webroot/help | 工程需要调用的一些css、js、html、图片等资源 用于存放自定义文件 |
外挂目录下文件夹 | 对应容器内路径 | 说明 |
fr 此部分内容,集群不存储在外挂目录中,而是存储在文件服务器中 | ||
assets | /usr/local/tomcat/webapps/webroot/WEB-INF/assets | temp_attach:存放着工程Excel原始文件信息 vcs:FineReport模板备份文件 drivers:驱动管理上传的驱动,会自动同步到工程WEB-INF/drivers文件夹中 其他文件:通用的共享持久化目录 |
backup | /usr/local/tomcat/webapps/webroot/backup | 工程历史备份文件 |
dpworks | /usr/local/tomcat/webapps/webroot/WEB-INF/dpworks | FineDataLink任务相关的配置文件(如不存在该文件夹,说明工程没有使用FDL相关功能) |
reportlets | /usr/local/tomcat/webapps/webroot/WEB-INF/reportlets | FineReport模板存放目录 |
resources | /usr/local/tomcat/webapps/webroot/WEB-INF/resources | 存放工程相关的资源配置文件 |
schedule | /usr/local/tomcat/webapps/webroot/WEB-INF/schedule | 定时调度生成的文件 |
treasures | /usr/local/tomcat/webapps/webroot/WEB-INF/treasures | 云端运维生成的数据包 |
外挂目录下文件夹 | 对应容器内路径 | 说明 |
ops_agent | ||
conf | /usr/local/agent/conf | agent 的配置文件 |
logs | /usr/local/agent/logs | 日志目录,用于存储 agent 的日志文件 |
resources | /usr/local/agent/resources | 包含资源文件 |
外挂目录下文件夹 | 对应容器内路径 | 说明 |
mysql | ||
bin | - | 包含 MySQL 的可执行文件,如 mysql 和 mysqld 该文件夹包括用于启动、停止和管理 MySQL 服务的命令 |
data | /var/lib/mysql | 数据目录,用于存储 MySQL 数据库的实际数据文件,包括表数据、索引等 通常包含一个 mysql 子目录,用于存储 MySQL 系统数据库的数据文件,以及其他用户创建的数据库的数据文件 |
log | /var/log/mysql | 包含用于记录各种活动和事件的日志文件 |
外挂目录下文件夹 | 对应容器内路径 | 说明 |
elasticsearch | ||
config | /usr/share/elasticsearch/config | Elasticsearch 的配置文件,如 elasticsearch.yml 包含 Elasticsearch 的各种参数,如节点名称、集群配置、网络设置等 |
data | /usr/share/elasticsearch/data | 数据目录,用于存储 Elasticsearch 的索引数据、文档数据、日志数据等 通常包含一个名为 nodes 的子目录,每个节点都有自己的子目录来存储数据 |
logs | /usr/share/elasticsearch/logs | 日志目录,用于存储 Elasticsearch 的日志文件 这些日志文件包括启动日志、索引过程中的日志、错误日志等 |
plugins | /usr/share/elasticsearch/plugins | 包含安装的 Elasticsearch 插件 安装Elasticsearch 插件时,它们通常会被下载并解压到这个目录中 |
secrets | /run/secrets | 包含一些敏感信息或者安全相关的文件,用于配置安全功能和管理凭据 |
外挂目录下文件夹 | 对应容器内路径 | 说明 |
nginx | ||
conf | /usr/local/nginx/conf | Nginx 的配置文件,如 nginx.conf 包含 Nginx 的虚拟主机、反向代理、负载均衡、缓存设置等配置 |
log | /usr/local/nginx/logs | 日志目录,用于存储 Nginx 的访问日志、错误日志等 访问日志记录了每个请求的详细信息,错误日志记录了 Nginx 在处理请求时遇到的错误信息 |
lua | /usr/local/nginx/lua | 启用 Lua 模块,包含 Lua 脚本文件,用于自定义 Nginx 的行为 |
外挂目录下文件夹 | 对应容器内路径 | 说明 |
redis | ||
data | /data | 数据目录,用于存储 Redis 的持久化数据,包括主从同步时的数据文件、持久化文件(如 RDB 和 AOF 文件)等 这个目录通常包含 dump.rdb 文件和 appendonly.aof 文件 |
外挂目录下文件夹 | 对应容器内路径 | 说明 |
minio | ||
data | /data | 数据目录,用于存储 MinIO 服务器的数据 所有上传到 MinIO 的对象都会存储在这个目录下,按照存储桶和对象键进行组织 |