warp打包成Docker
# 目录结构
warp-docker/
├── Dockerfile
└── entrypoint.sh
# Dockerfile文件
FROM debian:bookworm-slim
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install -y \
curl \
gnupg \
ca-certificates \
iproute2 \
iptables \
procps \
grep \
&& rm -rf /var/lib/apt/lists/*
RUN curl -fsSL https://pkg.cloudflareclient.com/pubkey.gpg \
| gpg --yes --dearmor -o /usr/share/keyrings/cloudflare-warp-archive-keyring.gpg
RUN echo "deb [signed-by=/usr/share/keyrings/cloudflare-warp-archive-keyring.gpg] https://pkg.cloudflareclient.com/ bookworm main" \
> /etc/apt/sources.list.d/cloudflare-client.list
RUN apt-get update && apt-get install -y cloudflare-warp \
&& rm -rf /var/lib/apt/lists/*
RUN apt clean
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
HEALTHCHECK \
CMD pgrep warp-svc >/dev/null && warp-cli --accept-tos status 2>/dev/null | grep -Eiq 'Connected|WARP is on|Success|connection: Connected' || exit 1
ENTRYPOINT ["/entrypoint.sh"]
# entrypoint.sh文件
!/bin/bash
set -e
echo "[warp] container starting..."
mkdir -p /var/lib/cloudflare-warp
if [ ! -c /dev/net/tun ]; then
echo "[warp] ERROR: /dev/net/tun is missing"
exit 1
fi
echo "[warp] starting warp-svc..."
warp-svc &
svc_pid=$!
sleep 8
echo "[warp] warp-cli version:"
warp-cli --version || true
echo "[warp] checking registration..."
if [ ! -f /var/lib/cloudflare-warp/reg.json ]; then
echo "[warp] first time register..."
if warp-cli --accept-tos registration new; then
echo "[warp] registration success via 'registration new'"
else
echo "[warp] 'registration new' failed, trying legacy 'register'..."
warp-cli --accept-tos register
fi
else
echo "[warp] already registered"
fi
echo "[warp] current status:"
warp-cli --accept-tos status || true
wait $svc_pid
# 打包docker镜像
- 本地打包使用
docker buildx build -f Dockerfile -t hmaktub/warp:latest .
- 打包并上传
docker buildx build -f Dockerfile --platform=linux/amd64,linux/arm64 -t hmaktub/warp:2026.3.846.0 -t hmaktub/warp:latest --push .
# docker-compose.yml实例
可以直接使用本人打包的hmaktub/warp:latest
services:
warp:
network_mode: host
container_name: cf-warp
cap_add:
- NET_ADMIN
devices:
- /dev/net/tun:/dev/net/tun
volumes:
- ./warp-data:/var/lib/cloudflare-warp
restart: always
image: hmaktub/warp:latest
上次更新: 2026/04/18, 07:40:24