Update Dockerfile
Browse files- Dockerfile +10 -2
Dockerfile
CHANGED
|
@@ -1,10 +1,18 @@
|
|
| 1 |
FROM calciumion/new-api:latest
|
| 2 |
|
| 3 |
-
# 保持这个,它至少确保了 /data 目录
|
| 4 |
COPY entrypoint-wrapper.sh /entrypoint-wrapper.sh
|
| 5 |
RUN chmod +x /entrypoint-wrapper.sh
|
| 6 |
|
| 7 |
ENTRYPOINT ["/entrypoint-wrapper.sh"]
|
| 8 |
|
| 9 |
-
#
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 10 |
CMD []
|
|
|
|
| 1 |
FROM calciumion/new-api:latest
|
| 2 |
|
|
|
|
| 3 |
COPY entrypoint-wrapper.sh /entrypoint-wrapper.sh
|
| 4 |
RUN chmod +x /entrypoint-wrapper.sh
|
| 5 |
|
| 6 |
ENTRYPOINT ["/entrypoint-wrapper.sh"]
|
| 7 |
|
| 8 |
+
# CMD [] <-- 让 /one-api 以默认方式运行,期望它将日志输出到 stdout/stderr
|
| 9 |
+
# 或者,如果它需要一个空参数列表才能正确解析,可以是 CMD [""] (不常见)
|
| 10 |
+
# 或者,如果它需要特定参数来启用控制台日志,您需要查阅文档
|
| 11 |
+
# 最可能的情况是 CMD [] 就能工作,或者直接删除 CMD 行,让它继承基础镜像的 CMD(如果有的话,但我们通过 ENTRYPOINT 覆盖了)
|
| 12 |
+
# 为了安全起见,CMD [] 通常意味着“不传递任何参数给 ENTRYPOINT 定义的命令之后的程序”
|
| 13 |
+
# 如果 /one-api 是直接在 ENTRYPOINT 执行的,并且基础镜像的 CMD 是空的或我们不关心的,
|
| 14 |
+
# 那么我们可以将 CMD 设置为空。
|
| 15 |
+
|
| 16 |
+
# 更明确的可能是确保 entrypoint-wrapper.sh 最后一行是 `exec /one-api` 而不是 `exec /one-api "$@"`
|
| 17 |
+
# 并且 Dockerfile 中的 CMD 就是空的。
|
| 18 |
CMD []
|