sadg456 commited on
Commit
7506fad
·
verified ·
1 Parent(s): ccff9fa

Update Dockerfile

Browse files
Files changed (1) hide show
  1. 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
- # 拷贝配置文件(你需要在构建时提供 config.json)
 
19
  COPY cf.json /app/config.json
20
 
 
 
21
  # 切换到非 root 用户
22
  USER singbox
23
- RUN iconv -f utf-8 -t utf-8 -c /app/config.json -o /app/config-clean.json && mv /app/config-clean.json /app/config.json
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"]