通过Dockerfile多阶段构建 一个最小的frps/frpc镜像

Dockerfile文件

# 基础镜像
FROM golang AS temp

# 更新
RUN apt update -y && apt upgrade -y && apt install upx-ucl -y && \
    git clone https://github.com/fatedier/frp.git && \
    cd frp/cmd/frpc && \
    date && \
    env CGO_ENABLED=0 go build -ldflags "-s -w" -a -installsuffix cgo . && \
    date && \
    upx -9 -o /frpc ./frpc && \
    date

# 使用空镜像,使镜像体积最小化
FROM scratch

# 复制
COPY --from=temp /frpc /

# 默认执行文件
ENTRYPOINT ["/frpc"]

build frpc 镜像

docker build -t frpc -f Dockerfile .

使用镜像

    docker run -itd --name frpc --restart=always \
    -v /root/frpc.ini:/frpc.ini -v /root/cert/:/root/cert/ \
    frpc -c /frpc.ini