zhepama commited on
Commit
f566668
·
verified ·
1 Parent(s): cd09e81

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +14 -9
Dockerfile CHANGED
@@ -1,13 +1,18 @@
1
- # 步骤 1: 使用 V2Fly 官方镜像,它基于 Alpine Linux,包含了 sh
2
  FROM v2fly/v2fly-core:latest
3
 
4
- # 步骤 2: 将本地的 config.json 文件复制到镜像内的 /etc/v2ray/ 目录下
5
  COPY config.json /etc/v2ray/config.json
6
 
7
- # 步骤 3: 使用 CMD 的 "shell form" 写法来执行我们的命令
8
- # 这种写法会覆盖掉基础镜像的 ENTRYPOINT,并使用 /bin/sh -c 来执行整个字符串
9
- # 这正是我们想要的效果!
10
- CMD echo '--- Final Check: Environment Variable ---' && \
11
- echo 'The UUID Hugging Face passed to me is: >>>$UUID<<<' && \
12
- echo '--- Starting V2Ray ---' && \
13
- /usr/bin/v2ray run -config /etc/v2ray/config.json
 
 
 
 
 
 
1
+ # 步骤 1: 使用 V2Fly 官方镜像
2
  FROM v2fly/v2fly-core:latest
3
 
4
+ # 步骤 2: 复制配置文件
5
  COPY config.json /etc/v2ray/config.json
6
 
7
+ # 步骤 3: 【最关键的一步】覆盖基础镜像的 ENTRYPOINT
8
+ # 我们不再让 v2ray 作为主程序,而是让 shell (/bin/sh) 作为主程序。
9
+ # "-c" 是 sh 的一个参数,表示后面跟着的是要执行的命令字符串。
10
+ ENTRYPOINT ["/bin/sh", "-c"]
11
+
12
+ # 步骤 4: 提供要给 sh -c 执行的命令
13
+ # 因为 ENTRYPOINT 已经是 sh -c,所以这里的 CMD 会被完整地当作一个脚本来执行。
14
+ # 这正是我们从一开始就想要达到的效果!
15
+ CMD "echo '--- Final, Correct Check: Environment Variable ---' && \
16
+ echo 'The UUID Hugging Face passed to me is: >>>$UUID<<<' && \
17
+ echo '--- Starting V2Ray ---' && \
18
+ /usr/bin/v2ray run -config /etc/v2ray/config.json"