docker - docker-compose 将teampeak数据目录挂载为卷的问题
问题描述
我正在尝试启动一个 teampeak 容器并将 sqlite 文件安装到主机上。我使用全新安装的 docker 引擎和 docker-compose。我还没有完成安装后设置来以非 root 用户 ( docs ) 运行 docker。/opt/ts3server/sql/
这就是为什么当我将 TS 数据文件夹( docs ) 挂载到我的主机系统时我认为我有问题的原因。该./teamspeak/
文件夹拥有根目录,但我也为每个人提供了 rwx。
码头工人-compose.yaml:
version: '3'
services:
teamspeak:
user: root
image: teamspeak
restart: always
ports:
- 9987:9987/udp
- 10011:10011
- 30033:30033
volumes:
- ./teamspeak/:/opt/ts3server/sql/
environment:
TS3SERVER_LICENSE: accept
teampeak 的错误日志:
teampeak_1 | 2019-10-25 20:18:33.827157|信息|ServerLibPriv | | TeamSpeak 3 服务器 3.9.1 (2019-07-02 13:17:23)
teampeak_1 | 2019-10-25 20:18:33.827272|信息 |ServerLibPriv | |系统信息:Linux 4.19.0-6-amd64 #1 SMP Debian 4.19.67-2+deb10u1 (2019-09-20) x86_64 二进制:64bit
teampeak_1 | 2019-10-25 20:18:33.827300|信息 |ServerLibPriv | |使用硬件AES
teampeak_1 | 2019-10-25 20:18:33.827484|INFO |数据库查询 | |db插件名称:SQLite3 插件,版本 3,(c)TeamSpeak Systems GmbH
teampeak_1 | 2019-10-25 20:18:33.827513|INFO |数据库查询 | |db插件版本:3.11.1
teampeak_1 | 2019-10-25 20:18:33.827614|INFO |数据库查询 | |检查数据库完整性(可能需要一段时间)
teampeak_1 | 2019-10-25 20:18:33.844497|关键|数据库查询 | |setSQLfromFile(file:properties_list_by_string_id.sql) 失败
当我设置除/opt/ts3server/sql/
teampeak服务器之外的任何其他内容时。如何使挂载的卷对 teampeak 可读写?
解决方案
我假设您要挂载 TS3 服务器的数据目录。您安装的卷 ( /opt/ts3server/sql/
) 用于存储创建数据库的 sql 脚本。
此变量控制 TeamSpeak 服务器查找 sql 文件的位置。默认为 /opt/ts3server/sql/。
-teampeak码头工人文档
相反,您希望将数据目录 ( /var/ts3server/
) 挂载到主机系统:
version: '3'
services:
teamspeak:
user: root
image: teamspeak
restart: always
ports:
- 9987:9987/udp
- 10011:10011
- 30033:30033
volumes:
- ./teamspeak/:/var/ts3server/
environment:
TS3SERVER_LICENSE: accept
推荐阅读
- sql - 从日期间隔获取总等待时间和行数
- html - 删除背景图片后,Google 表单布局不会重置
- scala - 多个随机 UUID 但值 uuid 相同
- reactjs - 数组或迭代器中的每个孩子都应该有唯一的 key prop reactjs
- date - 获取月末或当前日期+基于当前日期的几天
- shell - awk 乘法给我的值与 2 个数字的正常乘法不同
- java - 是否有任何 java Parser 可用于解析 rabbitmq.conf (erlang) 文件?
- json - Perl 生成的 JSON 中的 UTF8 字符串在客户端损坏
- three.js - 为什么 Three.js 几何会因大量数字而失去精度?
- react-native - 构建 Android 时出现 react-native-view 错误