看docker run文档时发现可以通过参数–entrypoint覆盖dockerfile中的原生ENTRYPOINT,所以有了这个想法,把frps和frpc同时装入image,然后通过–entrypoint参数动态指定运行程序,即可达到使用一个镜像,可以分别运行frpc和frps的效果。
Dockerfile
nano Dockerfile.frp
FROM debian:stable-slim ENV FRP_VERSION=0.36.2 RUN apt update \ && apt install -y wget \ && rm -rf /var/lib/apt/lists/* \ && rm -rf /var/cache/* \ && wget -O - "https://github.com/fatedier/frp/releases/download/v${FRP_VERSION}/frp_${FRP_VERSION}_linux_amd64.tar.gz" | tar -xzf - frp_${FRP_VERSION}_linux_amd64/frps frp_${FRP_VERSION}_linux_amd64/frpc --strip-components 1 ENTRYPOINT ["/frps"]