From 7ce6945c78ee2b0d71c1b543e9fdc7c3ab756352 Mon Sep 17 00:00:00 2001 From: vndroid Date: Wed, 29 Jun 2022 15:02:53 +0800 Subject: [PATCH] Minor update - Remove useless configuration. - Docker container running as root user, the program running as nobody user --- Dockerfile | 24 ++++++++++-------------- docker/docker-entrypoint.sh | 24 +++--------------------- 2 files changed, 13 insertions(+), 35 deletions(-) diff --git a/Dockerfile b/Dockerfile index c649628e9674..e680cd275101 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM --platform=$BUILDPLATFORM rust:1.53.0-buster AS build +FROM --platform=$BUILDPLATFORM rust:1.53.0-buster AS builder ARG TARGETARCH @@ -35,22 +35,18 @@ RUN rustup install nightly && rustup default nightly && \ FROM alpine:3.14 AS sslocal -COPY --from=build /root/shadowsocks-rust/target/release/sslocal /usr/bin -COPY --from=build /root/shadowsocks-rust/examples/config.json /etc/shadowsocks-rust/ -COPY --from=build /root/shadowsocks-rust/docker/docker-entrypoint.sh / +COPY --from=builder /root/shadowsocks-rust/target/release/sslocal /usr/local/bin/ +COPY --from=builder /root/shadowsocks-rust/examples/config.json /etc/shadowsocks-rust/ +COPY --from=builder /root/shadowsocks-rust/docker/docker-entrypoint.sh /usr/local/bin/ -USER nobody - -ENTRYPOINT [ "/docker-entrypoint.sh" ] +ENTRYPOINT [ "docker-entrypoint.sh" ] CMD [ "sslocal", "--log-without-time", "-c", "/etc/shadowsocks-rust/config.json" ] FROM alpine:3.14 AS ssserver -COPY --from=build /root/shadowsocks-rust/target/release/ssserver /usr/bin -COPY --from=build /root/shadowsocks-rust/examples/config.json /etc/shadowsocks-rust/ -COPY --from=build /root/shadowsocks-rust/docker/docker-entrypoint.sh / - -USER nobody +COPY --from=builder /root/shadowsocks-rust/target/release/ssserver /usr/local/bin/ +COPY --from=builder /root/shadowsocks-rust/examples/config.json /etc/shadowsocks-rust/ +COPY --from=builder /root/shadowsocks-rust/docker/docker-entrypoint.sh /usr/local/bin/ -ENTRYPOINT [ "/docker-entrypoint.sh" ] -CMD [ "ssserver", "--log-without-time", "-c", "/etc/shadowsocks-rust/config.json" ] +ENTRYPOINT [ "docker-entrypoint.sh" ] +CMD [ "ssserver", "--log-without-time", "-a", "nobody", "-c", "/etc/shadowsocks-rust/config.json" ] \ No newline at end of file diff --git a/docker/docker-entrypoint.sh b/docker/docker-entrypoint.sh index 5a6458eee6a7..03a66da9c3fa 100755 --- a/docker/docker-entrypoint.sh +++ b/docker/docker-entrypoint.sh @@ -10,29 +10,11 @@ else fi if [ "$1" = "sslocal" -o "$1" = "ssserver" -o "$1" = "ssmanager" -o "$1" = "ssservice" ]; then - if /usr/bin/find "/docker-entrypoint.d/" -mindepth 1 -maxdepth 1 -type f -print -quit 2>/dev/null | read v; then - echo >&3 "$0: /docker-entrypoint.d/ is not empty, will attempt to perform configuration" - - echo >&3 "$0: Looking for shell scripts in /docker-entrypoint.d/" - find "/docker-entrypoint.d/" -follow -type f -print | sort -V | while read -r f; do - case "$f" in - *.sh) - if [ -x "$f" ]; then - echo >&3 "$0: Launching $f"; - "$f" - else - # warn on shell scripts without exec bit - echo >&3 "$0: Ignoring $f, not executable"; - fi - ;; - *) echo >&3 "$0: Ignoring $f";; - esac - done - + if [ -f "/etc/shadowsocks-rust/config.json" ]; then echo >&3 "$0: Configuration complete; ready for start up" else - echo >&3 "$0: No files found in /docker-entrypoint.d/, skipping configuration" + echo >&3 "$0: No configuration files found in /etc/shadowsocks-rust, skipping configuration" fi fi -exec "$@" +exec "$@" \ No newline at end of file