docker搭建zerotier

使用Docker搭建Zerotier可以使部署和管理Zerotier网络变得更加简单和可靠。

先到官网申请账号, 并且创建一个网络, 创建网络后会得到一个ID

使用Docker CLI:

首先,确保已经安装并配置好Docker。然后,执行以下命令来创建一个Zerotier容器:

shell 复制代码
docker pull bltavares/zerotier
shell 复制代码
docker run --device=/dev/net/tun \
--name zerotier-one \
--net=host \
--restart=unless-stopped \
--cap-add=NET_ADMIN \
--cap-add=SYS_ADMIN \
-v /var/lib/zerotier-one:/var/lib/zerotier-one \
bltavares/zerotier:latest
shell 复制代码
docker exec zerotier-one zerotier-cli join [网络ID]

参数说明:

  • -d:将容器设置为后台运行。
  • --name zerotier-one:为容器指定一个名称。
  • --cap-add=NET_ADMIN:为容器授予网络管理的能力。
  • --device=/dev/net/tun:将宿主机的TUN设备映射到容器内。
  • -v /var/lib/zerotier-one:/var/lib/zerotier-one:将容器内的Zerotier数据目录映射到宿主机,以便数据持久化。
  • --restart=unless-stopped:配置容器在非停止状态下自动重启。
    注意事项:

确保替换 网络ID 为实际的Zerotier网络ID。

确保设置正确的访问权限和安全措施,以保护Zerotier容器的安全性。

配置宿主机的防火墙以允许Zerotier流量通过。

使用Docker Compose:

首先,在项目目录下创建一个名为 docker-compose.yml 的文件,并添加以下内容:

yaml 复制代码
version: '3.9'
services:
    zerotier:
        image: 'bltavares/zerotier:latest'
        volumes:
            - '/var/lib/zerotier-one:/var/lib/zerotier-one'
        cap_add:
            - SYS_ADMIN
            - NET_ADMIN
        restart: unless-stopped
        container_name: zerotier-one
        devices:
            - /dev/net/tun

然后,通过执行以下命令来启动Zerotier容器:

docker-compose up -d

注意事项:

确保替换 网络ID 为实际的Zerotier网络ID。

确保在项目目录下执行 docker-compose up -d 命令。

相关推荐
九皇叔叔6 小时前
Kubernetes 资源管理方式详解:命令式与声明式管理
docker·容器·k8s
程序猿小郑12 小时前
Docker Compose 构建完整服务实战指南:从入门到最佳实践
docker·容器
行百里er15 小时前
5 分钟跑起 Redis(Docker 版)
redis·后端·docker
Mr.朱鹏15 小时前
Docker三剑客实战指南:Docker、Dockerfile 和 Docker Compose
python·docker·devops·dockerfile
鬼先生_sir16 小时前
Docker 完整教程
docker
java_logo16 小时前
Docker 一键部署 Jellyfin:快速搭建私有化媒体服务器
docker·私有化部署·jellyfin·硬件加速·媒体服务器·轩辕镜像·影音库
jianpeng的工程笔记17 小时前
WeKnora 搭建研发 EDA 知识库:Docker 部署、RAG 与 Wiki 实践
docker·知识库·eda·rag
ZeroNews内网穿透18 小时前
内网部署 Halo 建站,用 ZeroNews 免费内网穿透安全发布到公网(无公网 IP 也能 HTTPS 访问)
docker·https·内网穿透·nas·反向代理·halo·zeronews
九皇叔叔1 天前
K8S 资源菜单
docker·容器·kubernetes·k8s
wdfk_prog1 天前
ROS教程08:从 TransportTCP::connect() 追到 TCPROS Connection Header、序列化与 Socket 数据传输
运维·缓存·docker·容器·ros