Update Dockerfile
Browse files- Dockerfile +28 -27
Dockerfile
CHANGED
@@ -1,35 +1,36 @@
|
|
1 |
# 使用轻量级的 Nginx Alpine 镜像
|
2 |
FROM nginx:alpine
|
3 |
|
4 |
-
#
|
5 |
-
#
|
6 |
-
|
7 |
-
|
8 |
-
#
|
9 |
-
#
|
10 |
-
#
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
#
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
16 |
RUN rm -f /etc/nginx/conf.d/default.conf
|
17 |
|
18 |
-
#
|
19 |
-
|
20 |
|
21 |
-
#
|
22 |
-
COPY nginx.conf.template /etc/nginx/templates/nginx.conf.template
|
23 |
-
|
24 |
-
# 将入口点脚本复制到镜像中并赋予执行权限
|
25 |
-
COPY entrypoint.sh /entrypoint.sh
|
26 |
-
RUN chmod +x /entrypoint.sh
|
27 |
-
|
28 |
-
# 暴露端口
|
29 |
EXPOSE 7860
|
30 |
|
31 |
-
#
|
32 |
-
|
33 |
-
|
34 |
-
# CMD 可以被 ENTRYPOINT 覆盖,这里可以保留一个默认的,但实际由 entrypoint.sh 的 exec 启动
|
35 |
-
# CMD ["nginx", "-g", "daemon off;"]
|
|
|
1 |
# 使用轻量级的 Nginx Alpine 镜像
|
2 |
FROM nginx:alpine
|
3 |
|
4 |
+
# 修改主 Nginx 配置文件 /etc/nginx/nginx.conf
|
5 |
+
# 使用 -E 启用扩展正则表达式,并使用 # 作为 sed 的分隔符以避免路径中 / 的冲突
|
6 |
+
|
7 |
+
# 1. 修改 PID 文件路径:
|
8 |
+
# 目标是找到类似 'pid /run/nginx.pid;' 的行 (允许路径前后有不同数量的空格)
|
9 |
+
# 并将其替换为 'pid /tmp/nginx.pid;'
|
10 |
+
# [[:space:]]+ 匹配一个或多个空格/制表符。
|
11 |
+
# [[:space:]]* 匹配零个或多个空格/制表符。
|
12 |
+
# \. 匹配一个实际的点号 '.' 。
|
13 |
+
RUN sed -i -E 's#^[[:space:]]*pid[[:space:]]+/run/nginx\.pid[[:space:]]*;#pid /tmp/nginx.pid;#g' /etc/nginx/nginx.conf
|
14 |
+
|
15 |
+
# 2. 注释掉 'user' 指令:
|
16 |
+
# 目标是找到类似 'user nginx;' 的行 (允许 user 和 nginx 之间以及行尾有不同数量的空格)
|
17 |
+
# 并在行首添加 '#' 注释符。
|
18 |
+
# \1 代表第一个捕获组的内容。
|
19 |
+
RUN sed -i -E 's#^([[:space:]]*user[[:space:]]+nginx[[:space:]]*;)#\#\1#g' /etc/nginx/nginx.conf
|
20 |
+
|
21 |
+
# (可选的调试步骤,Hugging Face 的构建日志可能不显示 RUN 命令的输出)
|
22 |
+
# RUN echo "DEBUG: Content of /etc/nginx/nginx.conf after sed modifications:"
|
23 |
+
# RUN cat /etc/nginx/nginx.conf
|
24 |
+
# RUN echo "DEBUG: End of nginx.conf content"
|
25 |
+
|
26 |
+
# 移除默认的 Nginx 欢迎页面配置
|
27 |
RUN rm -f /etc/nginx/conf.d/default.conf
|
28 |
|
29 |
+
# 将我们自定义的 nginx.conf (包含 server 块) 复制到容器的 Nginx 配置目录中
|
30 |
+
COPY nginx.conf /etc/nginx/conf.d/nginx.conf
|
31 |
|
32 |
+
# 暴露容器的 7860 端口 (与 nginx.conf 中的 listen 端口一致)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
33 |
EXPOSE 7860
|
34 |
|
35 |
+
# 启动 Nginx 服务,并保持在前台运行
|
36 |
+
CMD ["nginx", "-g", "daemon off;"]
|
|
|
|
|
|