Update Dockerfile
Browse files- Dockerfile +11 -5
Dockerfile
CHANGED
|
@@ -3,23 +3,29 @@ FROM alpine:latest
|
|
| 3 |
# 安装必要工具
|
| 4 |
RUN apk add --no-cache curl tar
|
| 5 |
|
| 6 |
-
# 创建非 root
|
| 7 |
RUN addgroup -S singbox && adduser -S singbox -G singbox
|
| 8 |
|
| 9 |
-
#
|
|
|
|
|
|
|
| 10 |
WORKDIR /app
|
| 11 |
|
|
|
|
| 12 |
RUN curl -L https://github.com/SagerNet/sing-box/releases/download/v1.11.11/sing-box-1.11.11-linux-amd64.tar.gz \
|
| 13 |
-o sing-box.tar.gz && \
|
| 14 |
tar -xzf sing-box.tar.gz && \
|
| 15 |
mv sing-box-1.11.11-linux-amd64/sing-box /usr/local/bin/sing-box && \
|
| 16 |
chmod +x /usr/local/bin/sing-box && \
|
| 17 |
rm -rf sing-box.tar.gz sing-box-1.11.11-linux-amd64
|
| 18 |
-
|
|
|
|
| 19 |
COPY cf.json /app/config.json
|
| 20 |
|
|
|
|
|
|
|
| 21 |
# 切换到非 root 用户
|
| 22 |
USER singbox
|
| 23 |
-
|
| 24 |
-
#
|
| 25 |
ENTRYPOINT ["sing-box", "run", "-c", "/app/config.json"]
|
|
|
|
| 3 |
# 安装必要工具
|
| 4 |
RUN apk add --no-cache curl tar
|
| 5 |
|
| 6 |
+
# 创建非 root 用户和组
|
| 7 |
RUN addgroup -S singbox && adduser -S singbox -G singbox
|
| 8 |
|
| 9 |
+
# 创建工作目录并赋权限
|
| 10 |
+
RUN mkdir /app && chown singbox:singbox /app
|
| 11 |
+
|
| 12 |
WORKDIR /app
|
| 13 |
|
| 14 |
+
# 下载并安装 sing-box
|
| 15 |
RUN curl -L https://github.com/SagerNet/sing-box/releases/download/v1.11.11/sing-box-1.11.11-linux-amd64.tar.gz \
|
| 16 |
-o sing-box.tar.gz && \
|
| 17 |
tar -xzf sing-box.tar.gz && \
|
| 18 |
mv sing-box-1.11.11-linux-amd64/sing-box /usr/local/bin/sing-box && \
|
| 19 |
chmod +x /usr/local/bin/sing-box && \
|
| 20 |
rm -rf sing-box.tar.gz sing-box-1.11.11-linux-amd64
|
| 21 |
+
|
| 22 |
+
# 拷贝配置文件(构建时提供)
|
| 23 |
COPY cf.json /app/config.json
|
| 24 |
|
| 25 |
+
# (可选)确保配置文件是 utf-8,无 BOM,可以本地处理,容器内一般不必运行 iconv
|
| 26 |
+
|
| 27 |
# 切换到非 root 用户
|
| 28 |
USER singbox
|
| 29 |
+
|
| 30 |
+
# 启动命令
|
| 31 |
ENTRYPOINT ["sing-box", "run", "-c", "/app/config.json"]
|