我正在尝试启动一个teampeak容器并将sqlite文件安装到主机。我使用全新安装的docker引擎和docker-compose。我尚未完成安装后的安装程序,即可以非root用户身份(docs)运行docker。这就是为什么当我将TS数据文件夹/opt/ts3server/sql/
(docs)挂载到主机系统时遇到问题。 ./teamspeak/
文件夹拥有根目录,但我也为每个人提供了r-w-x。
docker-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的错误日志:当我设置除
/opt/ts3server/sql/
之外的其他任何内容时,teampeak服务器将启动。如何使已安装的卷对Teampeak可读可写?
最佳答案
我假设您要挂载TS3服务器的数据目录。您安装的卷(/opt/ts3server/sql/
)用于存储sql脚本以创建数据库。
相反,您想将数据目录(/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