我需要扩展一个基本映像(jwilder/nginx-代理),因为我需要向该映像添加一些额外的配置。
其中一些配置更改需要在容器的运行时,在启动基本映像的逻辑之前完成。
实现运行时配置的方法是创建一个自定义入口点文件,该文件首先完成所有的自定义工作,然后启动基本映像的入口点。
我的入口点是这样的:
#!/bin/bash
# my custom logic here
echo "Executed custom logic."
# default jwilder/nginx entrypoint
/app/docker-entrypoint.sh "$@"目前,这不起作用,因为"$@“解析为零。我的自定义Dockerfile不设置自定义CMD,只设置入口点。
这有什么不管用的原因吗?我希望基本图像的CMD保持不变,并被传递到我的入口点。否则,我需要复制的基本图像的CMD,这是容易出错,如果该CMD曾经改变。
发布于 2022-04-29 09:11:46
从医生那里
如果CMD是从基本图像定义的,则设置切入点将CMD重置为空值。在这种情况下,必须在当前映像中定义CMD才有值。
这也适用于CMD。CMD和ENTRYPOINT从基本图像中重置任何CMD或入口点值。
你得自己做一次。
如果您关注值的变化--并且基本映像在您的控制之下--您可以设置一个环境变量并使用它。
https://stackoverflow.com/questions/72055435
复制相似问题