Sign inSign up

q7060123/zerotier

By q7060123

Updated over 2 years ago

Image
0

402

q7060123/zerotier repository overview

Dockerfile文件:

FROM alpine:3.17

RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories \
    && apk update \
    && apk add --no-cache zerotier-one
EXPOSE 9992/udp
COPY main.sh /main.sh

zerotier.sh

RUN chmod +x /main.sh
ENV ZT_NETWORK_ID="1"
CMD ["/main.sh"]

main.sh文件

#!/bin/sh

# 函数:重启 ZeroTier 服务
restart_zerotier() {
    # 强制停止 ZeroTier 进程
    kill -9 `pidof zerotier-one` || true
    # 等待一段时间以确保进程完全停止
    sleep 5
    # 启动 ZeroTier 服务
    zerotier-one -p$ip&
}

# 检查 ZeroTier 是否在运行
if ! pidof zerotier-one >/dev/null; then
    # 如果 ZeroTier 不在运行,启动它
    zerotier-one -p$ip&
fi

# 等待一段时间让 ZeroTier 服务启动
sleep 5

# 执行 ZeroTier 相关的其他初始化操作
# 例如,加入 ZeroTier 网络
zerotier-cli join $ZT_NETWORK_ID

# 接下来可以是您的其他命令...

# 循环检查 ZeroTier 进程是否仍在运行,如果不在则重启
while true; do
    if ! pidof zerotier-one >/dev/null; then
        echo "ZeroTier service is not running, restarting..."
        restart_zerotier
    fi
    sleep 10  # 每10秒检查一次
done

zerotier.sh

docker run  -d \
    --name=test-ze  \
    --restart=always \
    --device=/dev/net/tun \
    --net=host \
    -e ip=9992 \
    -e ZT_NETWORK_ID=xxxxxxxx \
    --cap-add=NET_ADMIN \
    --cap-add=SYS_ADMIN \
    -v $PWD/zerotier-one:/var/lib/zerotier-one \
    q7060123/zerotier:v1
sleep 5
docker exec -it test-ze sh -c 'zerotier-cli info && zerotier-cli status'

Tag summary

Content type

Image

Digest

sha256:a23b261bc

Size

9.5 MB

Last updated

over 2 years ago

docker pull q7060123/zerotier:v1