Update Dockerfile
Browse files- Dockerfile +25 -1
Dockerfile
CHANGED
|
@@ -25,5 +25,29 @@ RUN ls -l /app
|
|
| 25 |
|
| 26 |
RUN cat /app/config.json
|
| 27 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 28 |
# 切换回非特权用户
|
| 29 |
-
USER nextjs
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 25 |
|
| 26 |
RUN cat /app/config.json
|
| 27 |
|
| 28 |
+
|
| 29 |
+
# 5. 创建启动脚本(核心逻辑:root下载→验证→切换用户)
|
| 30 |
+
RUN echo $'#!/bin/sh\n\
|
| 31 |
+
set -e\n\
|
| 32 |
+
# 调试信息(快速定位问题)\n\
|
| 33 |
+
echo "===== 启动脚本调试信息 ====="\n\
|
| 34 |
+
echo "当前用户(启动脚本): $(whoami)"\n\
|
| 35 |
+
echo "当前目录: $(pwd)"\n\
|
| 36 |
+
echo "/app目录权限: $(ls -ld /app)"\n\
|
| 37 |
+
echo "config.json权限(下载前): $(ls -l /app/config.json 2>/dev/null || echo "文件不存在")"\n\
|
| 38 |
+
"$@"' > /app/start.sh
|
| 39 |
+
|
| 40 |
+
# 6. 设置启动脚本可执行权限
|
| 41 |
+
RUN chmod +x /app/start.sh
|
| 42 |
+
|
| 43 |
+
|
| 44 |
# 切换回非特权用户
|
| 45 |
+
USER nextjs
|
| 46 |
+
|
| 47 |
+
|
| 48 |
+
# 7. 保持工作目录正确(与原镜像一致)
|
| 49 |
+
WORKDIR /app
|
| 50 |
+
|
| 51 |
+
# 8. 定义入口点(启动脚本)和默认命令(原镜像的启动命令)
|
| 52 |
+
ENTRYPOINT ["/app/start.sh"]
|
| 53 |
+
CMD ["node_modules/.bin/next", "start", "-H", "0.0.0.0", "-p", "3000"]
|