ENTRYPOINT usrlocalsogasogaCMD usrbinsoga -c etcsogasogajson这个dockerfile中后面的CMD为什么没有被执行
在Dockerfile中,CMD指令用于指定容器启动时要执行的命令。然而,如果在运行Docker容器时提供了自定义的命令,那么CMD指令中的命令将被忽略。
在你提供的Dockerfile中,CMD指令指定了容器启动时要执行的命令为"/usr/bin/soga. -c /etc/soga/soga.json"。但是,如果你在运行容器时提供了自定义的命令,例如:
docker run -it <image_name> /bin/bash
那么容器将以交互方式运行,并启动一个bash终端而不是执行CMD指令中的命令。
如果你想确保CMD中的命令被执行,可以删除自定义命令或者使用CMD指令提供一个默认命令。例如,你可以修改Dockerfile如下:
ENTRYPOINT ["/usr/local/soga/soga"]
CMD ["/usr/bin/soga", "-c", "/etc/soga/soga.json"]
这样,当没有提供自定义命令时,容器将执行CMD指令中的命令。
原文地址: http://www.cveoy.top/t/topic/jaN4 著作权归作者所有。请勿转载和采集!