在kubernetes Deployment的yaml文件中,有什么简单的方法可以在容器的postStart hook中运行多个命令?
我尝试如下:
lifecycle:
postStart:
exec:
command: ["/bin/cp", "/webapps/myapp.war", "/apps/"]
command: ["/bin/mkdir", "-p", "/conf/myapp"]
command: ["touch", "/conf/myapp/ready.txt"]
但它没有起作用。
(看起来只有最后一条命令被执行)。
我知道我可以在容器镜像中嵌入一个脚本,并在那里简单地调用它... 但我希望能够在yaml文件中定制这些命令,而不需要触及容器镜像。
谢谢
只允许一个
命令
,但你可以像如下这样使用sh -c
:lifecycle: postStart: exec: command: - "sh" - "-c" - > if [ -s /var/www/mybb/inc/config.php ]; then rm -rf /var/www/mybb/install; fi; if [ ! -f /var/www/mybb/index.php ]; then cp -rp /originroot/var/www/mybb/. /var/www/mybb/; fi
你的答案