如何修改Podman容器启动时执行的首个命令?
修改Podman容器启动的首个进程命令
直接用下面两种方式就能覆盖镜像默认的启动命令,替换成你需要的首个进程:
直接追加命令覆盖CMD:在
podman run命令最后加上你要执行的命令,比如原来镜像默认启动服务进程,现在想启动bash作为pid=1的进程,就这么写:podman run your-image-name bash要是需要交互操作,加上
-it参数进入交互式shell:podman run -it your-image-name bash用--entrypoint替换入口程序:如果镜像里设置了
ENTRYPOINT(固定的启动入口),直接追加命令可能不生效,这时候用--entrypoint参数替换掉原来的入口:podman run --entrypoint bash your-image-name这个命令会把容器的首个进程直接换成bash,不管原来的
ENTRYPOINT和CMD是什么。
简单说下原理:容器镜像的启动逻辑由ENTRYPOINT和CMD共同控制——ENTRYPOINT是容器启动时必然执行的程序,CMD是传给它的默认参数。你在podman run后面加命令会替换CMD,用--entrypoint则会替换ENTRYPOINT,两者结合就能完全自定义首个启动进程。
内容的提问来源于stack exchange,提问作者Ercax
相关产品推荐
相关产品推荐

