34 lines
888 B
Docker
34 lines
888 B
Docker
# frpc-client Docker image
|
||
# 基于 Alpine Linux,轻量级
|
||
|
||
FROM alpine:3.19
|
||
|
||
LABEL maintainer="StoneLan"
|
||
LABEL description="frp client container"
|
||
|
||
# 安装依赖(ca-certificates 用于 HTTPS,tzdata 用于时区)
|
||
RUN apk add --no-cache ca-certificates tzdata
|
||
|
||
# 复制 frp 二进制文件和配置
|
||
COPY frp_0.61.1_linux_amd64.tar.gz /tmp/frp.tar.gz
|
||
COPY frpc.toml /etc/frpc/frpc.toml
|
||
|
||
# 解压并安装 frpc
|
||
RUN tar -xzf /tmp/frp.tar.gz -C /tmp/ && \
|
||
cp /tmp/frp_0.61.1_linux_amd64/frpc /usr/local/bin/ && \
|
||
chmod +x /usr/local/bin/frpc && \
|
||
rm -rf /tmp/frp*
|
||
|
||
# 创建非 root 用户
|
||
RUN adduser -D -u 1000 frpcuser && \
|
||
chown -R frpcuser:frpcuser /etc/frpc
|
||
|
||
USER frpcuser
|
||
|
||
# 健康检查
|
||
HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \
|
||
CMD pkill -0 frpc || exit 1
|
||
|
||
ENTRYPOINT ["/usr/local/bin/frpc"]
|
||
CMD ["-c", "/etc/frpc/frpc.toml"]
|