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