记录一次docker pod启动失败的原因

1 CMD命令导致pod启动失败

(1) 场景原镜像使用的是 FROM debian:bullseye

启动应用命令: 

CMD ["java", "-Djava.io.tempdir=/home/1000/","-jar","/usr/src/myapp/app.jar"]

此时pod可以正常启动

(2)将上述镜像更新为公司指定的镜像,如:

FROM xxxxx/xxxx/openjdk:17-standard ,并依旧使用CMD启动pod,pod启动失败。而且容器日志中并没有任何有用的错误信息。

Back-off restarting failed container backend-app in pod backend-batch-app-6d9787f9c6-bjd6b_nsp-xx-s-app(cf5a6c17-7953-4ff5-b799-96c3de750a14)

(3) 原因分析:

CMD的定义和用途

CMD用于指定容器启动时运行的命令。可以有多个CMD指令,但只有最后一个CMD指令会生效。CMD可以包含参数,如果在运行docker run命令时指定了参数,将会覆盖CMD中指定的参数。CMD适用于设置默认命令和参数,提供容器的默认行为。‌

ENTRYPOINT的定义和用途

ENTRYPOINT用于指定容器启动时运行的可执行文件或脚本。和CMD一样,只有最后一个ENTRYPOINT指令会生效。ENTRYPOINT指令不会被覆盖,而是被附加到docker run命令的参数之前。ENTRYPOINT适用于定义容器启动的主要入口点,确保每次容器启动时都执行同一命令。

CMD和ENTRYPOINT的主要区别

  1. 灵活性‌: CMD可以被doc
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

路飞海米

一起加油哦

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值