快速参考
-
由……维护: (注:原文中“Maintained by:”后面应该会有具体的维护者信息,若有完整内容,翻译会更加准确。这里仅根据给定的部分进行了翻译。)
TeamSpeak 开发者 nwerensteijn 和 muenchow -
哪里可以获得帮助:
Docker 社区 Slack、Server Fault、Unix & Linux 或 Stack Overflow
支持的标签及各自的 Dockerfile 链接
快速参考(续)
-
在哪里提交问题:
https://github.com/TeamSpeak-Systems/teamspeak-linux-docker-images/issues -
支持的架构:(更多信息)
amd64 -
已发布的图像伪影细节:
repo-info repo 的repos/teamspeak/目录(历史记录)
(图像元数据、传输大小等) -
图像更新:
官方图像仓库的library/teamspeak标签
官方图像存储库的library/teamspeak文件(历史记录) -
此描述的来源:
文档库的teamspeak/目录(历史记录)
什么是 TeamSpeak?
TeamSpeak 为在线游戏、教育与培训、内部商务沟通以及与朋友和家人保持联系提供理想的语音通信。我们的主要重点是提供一种易于使用、具有高安全标准、出色的语音质量以及低系统和带宽使用率的解决方案。

如何使用此图像
要查看许可协议:
$ docker run -e TS3SERVER_LICENSE=view teamspeak
要启动 TeamSpeak 服务器,请接受许可协议,并将端口映射到主机:
$ docker run -p 9987:9987/udp -p 10011:10011 -p 30033:30033 -e TS3SERVER_LICENSE=accept teamspeak
然后您可以在您的 TeamSpeak 客户端中连接到 localhost 。请记下生成的服务器查询密码和服务器管理员权限密钥。这些是管理 TeamSpeak 服务器所需要的。
容器外壳访问
docker exec 命令允许您在 Docker 容器内运行命令。以下命令行将在您的 teamspeak 容器内为您提供一个 shell:
$ docker exec -it some-teamspeak sh
TeamSpeak 服务器日志可通过 Docker 的容器日志获取:
$ docker logs some-teamspeak
...通过 docker-compose 或 docker stack deploy
示例 docker-compose.yml 用于 teamspeak :
version: '3.1'
services:
teamspeak:
image: teamspeak
restart: always
ports:
- 9987:9987/udp
- 10011:10011
- 30033:30033
environment:
TS3SERVER_DB_PLUGIN: ts3db_mariadb
TS3SERVER_DB_SQLCREATEPATH: create_mariadb
TS3SERVER_DB_HOST: db
TS3SERVER_DB_USER: root
TS3SERVER_DB_PASSWORD: example
TS3SERVER_DB_NAME: teamspeak
TS3SERVER_DB_WAITUNTILREADY: 30
TS3SERVER_LICENSE: accept
db:
image: mariadb
restart: always
environment:
MYSQL_ROOT_PASSWORD: example
MYSQL_DATABASE: teamspeak
运行 docker stack deploy -c stack.yml teamspeak (或 docker-compose -f stack.yml up ),等待其完全初始化,然后使用 TeamSpeak 客户端访问 swarm-ip:9987 、 localhost:9987 或 host-ip:9987 (视情况而定)。
环境变量
当您启动 teamspeak 图像时,您可以通过在 docker run 命令行上传递一个或多个环境变量来调整 TeamSpeak 服务器实例的配置。
TS3SERVER_LICENSEPATH
设置 TeamSpeak 服务器查找 licensekey.dat 的路径。此变量是 licensekey.dat 应位于的目录的路径。默认值为 /var/ts3server/。
TS3SERVER_DB_PLUGIN
此变量控制 TeamSpeak 服务器正在使用何种类型的数据库。
TS3SERVER_DB_PLUGINPARAMETER
此变量的内容作为 parameter 发送到数据库插件。
TS3SERVER_DB_SQLPATH
此变量控制 TeamSpeak 服务器在何处查找 sql 文件。默认值为 /opt/ts3server/sql/。
TS3SERVER_DB_SQLCREATEPATH
此变量是用于初始化数据库的 SQL 脚本的路径。该路径相对于 TS3SERVER_DB_SQLPATH 。
TS3SERVER_DB_CONNECTIONS
此变量控制正在使用的到数据库的并发连接数量。必须至少为 2 且最多为 100。默认值为 10。
TS3SERVER_DB_CLIENTKEEPDAYS
此变量是 TeamSpeak 服务器将保留未使用的用户身份的天数。已添加到组中的用户不会被修剪,但访客会。
TS3SERVER_IP_WHITELIST
此变量控制可找到白名单的位置。该文件包含一系列 IP 地址,这些地址不受洪水保护系统的限制。警告:请勿添加任何您不信任的 IP 地址,因为这将允许它们使服务器遭受洪水攻击。
TS3SERVER_IP_BLACKLIST
此变量控制在何处找到黑名单。该文件包含一个 IP 地址列表,无论如何,这些 IP 地址都无法连接到服务器查询接口,即使在服务器重新启动后也是如此。
TS3SERVER_LOG_PATH
此变量控制服务器存储其日志文件的文件夹。默认值为 /var/ts3server/logs/。
TS3SERVER_LOG_QUERY_COMMANDS
如果此变量设置为 1,则发送到服务器的每个查询命令都将被记录。
警告:虽然如果您的服务器遇到问题,这可能会有所帮助,但应注意,这可能会导致您的日志文件变得非常大。除非您绝对希望记录所有命令,否则我们建议大多数时候将此变量设置为 0。
TS3SERVER_LOG_APPEND
如果此变量设置为 1,则每个虚拟服务器的所有新日志条目都将写入到单个文件中。我们建议将此变量设置为 0,因为这样在查看日志时会更轻松。
TS3SERVER_QUERY_PROTOCOLS
可用于连接到 ServerQuery 的以逗号分隔的协议列表。可能的值为 raw 和 ssh 。如果指定 raw ,则在 10011/tcp 上打开原始或“经典”ServerQuery。如果指定 ssh ,则在 10022/tcp 上打开使用 SSH 的加密 ServerQuery。此参数中可以指定上述值的任意组合,包括将其留空,这将完全禁用 ServerQuery。
TS3SERVER_QUERY_TIMEOUT
由于无活动状态而断开查询连接之前的秒数。如果值设置为零或负数,则超时将被禁用。默认超时时间为 300 秒。
TS3SERVER_QUERY_SSH_RSA_HOST_KEY
查询将使用的到 ssh_host_rsa_key 的路径。如果该路径不存在,服务器启动时将创建它。
注意事项
插入许可证文件
当使用具有 32 个槽位的多于 1 个虚拟服务器时,TeamSpeak 服务器需要许可证文件。为此,必须使 licensekey.dat 可用于服务器。一种方法是将 licensekey.dat 挂载到 /var/ts3server 中。
$ docker run --name some-teamspeak -v /location/to/licensekey.dat:/var/ts3server/licensekey.dat teamspeak:tag
当整个数据目录( /var/ts3server/ )已在某处挂载时, licensekey.dat 可以复制到该目录内,并会在 TeamSpeak 服务器下一次重新启动后加载。
数据存储于何处
重要提示:在 Docker 容器中运行的应用程序所使用的数据有几种存储方式。我们鼓励 teamspeak 镜像的用户熟悉可用的选项,包括:
- 让 Docker 通过使用其自身内部的卷管理将数据库文件写入主机系统的磁盘来管理您的数据库数据的存储。这是默认设置,对用户来说简单且相当透明。缺点是,对于直接在主机系统(即在容器之外)上运行的工具和应用程序,这些文件可能很难定位。
- 在主机系统(容器外部)上创建一个数据目录,并将其挂载到容器内部可见的目录。这样可以将数据库文件放置在主机系统上的已知位置,并且便于主机系统上的工具和应用程序访问这些文件。缺点是用户需要确保该目录存在,并且例如主机系统上的目录权限和其他安全机制已正确设置。
Docker 文档是了解不同存储选项和变体的良好起点,并且有多个博客和论坛帖子在该领域进行讨论并提供建议。在这里,我们将仅为上述后一种选项展示基本过程:
- 在您的主机系统的合适卷上创建一个数据目录,例如
/my/own/datadir。 -
像这样启动您的
teamspeak容器:$ docker run --name some-teamspeak -v /my/own/datadir:/var/ts3server/ -d teamspeak:tag
命令的 -v /my/own/datadir:/var/ts3server/ 部分将底层主机系统中的 /my/own/datadir 目录作为 /var/ts3server 挂载到容器内部,默认情况下,TeamSpeak 会将其数据文件写入此处。
许可证
查看此映像中所包含软件的许可证信息。
与所有 Docker 镜像一样,这些镜像可能还包含其他可能受其他许可证约束的软件(例如来自基础发行版的 Bash 等,以及所包含的主要软件的任何直接或间接依赖项)。
一些能够自动检测到的额外许可信息可能会在 repo-info 存储库的 teamspeak/ 目录中找到。
对于任何预构建图像的使用,图像用户有责任确保对此图像的任何使用都符合其中包含的所有软件的任何相关许可。
