🧾 如何使用 Tailscale Docker 镜像?
网址:Using Tailscale with Docker · Tailscale Docs
✅ 拉取镜像(任选其一)
docker pull tailscale/tailscale:latest
# 或者
docker pull ghcr.io/tailscale/tailscale:latest
🧰 常用环境变量说明(简洁版)
| 环境变量 | 作用 | 示例 |
|---|---|---|
TS_AUTHKEY | 登录认证用的 auth key | tskey-xxxxx(从 https://login.tailscale.com/admin/settings/authkeys 获取) |
TS_EXTRA_ARGS | tailscale up 的附加参数 | --advertise-tags=tag:mytag |
TS_STATE_DIR | 状态持久化目录(重要!) | /var/lib/tailscale |
TS_USERSPACE | 是否启用 userspace 模式 | false(建议禁用,使用 kernel tun 网络) |
TS_HOSTNAME | 节点显示的名字 | tailscale-nginx |
🚀 示例:Docker Compose 部署(推荐)
这是一个完整的示例,Tailscale 与 Nginx 共用网络:
version: "3.7"
services:
tailscale-nginx:
image: tailscale/tailscale:latest
hostname: tailscale-nginx
environment:
- TS_AUTHKEY=tskey-xxx # 你的 Tailscale Auth Key
- TS_EXTRA_ARGS=--advertise-tags=tag:container
- TS_STATE_DIR=/var/lib/tailscale
- TS_USERSPACE=false
volumes:
- ./tailscale-state:/var/lib/tailscale
devices:
- /dev/net/tun:/dev/net/tun
cap_add:
- NET_ADMIN
restart: unless-stopped
nginx:
image: nginx
depends_on:
- tailscale-nginx
network_mode: service:tailscale-nginx
🔒 提示:
TS_USERSPACE=false可以让 Tailscale 用系统内核的网络,性能更好(但需要容器启用/dev/net/tun和NET_ADMIN权限)
network_mode: service:tailscale-nginx让 nginx 和 tailscale 共用同一网络接口(适合隐藏 nginx,只通过 Tailscale 访问)
📦 启动方式
docker compose up -d
首次启动后,这个容器就会作为一个 Tailscale 节点加入你的 Tailnet 网络。
❗注意事项
-
auth key 有效期有限,建议勾选“Reusable”选项。
-
状态目录必须挂载到宿主机,否则每次重启都会失去连接。
-
若你不希望一直用
authkey登录,也可以:docker exec -it tailscale-nginx tailscale up然后用浏览器手动登录认证。
6427

被折叠的 条评论
为什么被折叠?



