通过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