mirror of
https://github.com/shadowsocks/shadowsocks-rust.git
synced 2026-02-09 01:59:16 +08:00
Minor update
- Remove useless configuration. - Docker container running as root user, the program running as nobody user
This commit is contained in:
24
Dockerfile
24
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 /
|
||||
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/
|
||||
|
||||
USER nobody
|
||||
|
||||
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" ]
|
||||
@@ -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 "$@"
|
||||
Reference in New Issue
Block a user