2016-09-11 9 views
3

のkubernetesデプロイメントのyamlファイルには、コンテナのpostStartフックで複数のコマンドを実行する簡単な方法がありますか?コンテナのpostStartフックの複数のコマンド

私はこのような何かやろうとしている:

lifecycle: 
    postStart: 
    exec: 
     command: ["/bin/cp", "/webapps/myapp.war", "/apps/"] 
     command: ["/bin/mkdir", "-p", "/conf/myapp"] 
     command: ["touch", "/conf/myapp/ready.txt"] 

をしかし、それは動作しません。 (最後のコマンドだけが実行されたように見えます)

私は、コンテナイメージにスクリプトを埋め込み、そこに単に呼び出すことができます...しかし、これらのコマンドをyamlファイルでカスタマイズすることができるようにしたいと思います。コンテナ画像に触れる。

おかげ

答えて

11

つだけcommand許可されていますが、あなたはまた、bashのを作成したり、グループにすべてのそれらのコマンドをスクリプトを作ることができ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 
+0

それは働いた!ありがとう。 – aregnier

0

を使用することができます。

関連する問題