kaniko executor - 构建 2 个没有多阶段的容器

问题描述

我正在尝试在同一阶段构建 2 个容器。这背后的原因是它们上的一切都是相同的,但其中一个会有不同的用法。我认为没有理由进行多阶段构建,因为一切都已经就绪,创建新阶段会再次从缓存中下载构建器的映像。

我的脚本看起来像这样。

script:
    - chmod a+x k8s/check-if-needed-to-run-composer.sh
    - k8s/check-if-needed-to-run-composer.sh
    - echo "{\"credsstore\":\"ecr-login\",\"credHelpers\":{\"$AWS_ACCOUNT_ID.dkr.ecr.region.amazonaws.com\":\"ecr-login\"}}" > /kaniko/.docker/config.json
    - executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/k8s/job-manager/Dockerfile --build-arg DECRYPTION_SECRET="$DECRYPTION_SECRET" --destination $AWS_REPOSITORY_JOB_MANAGER:$CI_COMMIT_REF_SLUG --verbosity=panic
    - executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/k8s/command-image/Dockerfile --build-arg DECRYPTION_SECRET="$DECRYPTION_SECRET" --destination $AWS_REPOSITORY_COMMAND_IMAGE:$CI_COMMIT_REF_SLUG --verbosity=panic

问题是第一个执行程序有效,而第二个执行程序抛出:

/bin/bash: line 158: /usr/local/bin/executor: No such file or directory

经过进一步调查,似乎在执行程序结束时脚本仍保留在容器内(并且没有执行程序 - 它不应该)。我尝试使用 exit (下面的脚本),但这只会停止执行。也许我应该尝试模拟 ctrl + p?

script:
    - chmod a+x k8s/check-if-needed-to-run-composer.sh
    - k8s/check-if-needed-to-run-composer.sh
    - echo "{\"credsstore\":\"ecr-login\",\"credHelpers\":{\"$AWS_ACCOUNT_ID.dkr.ecr.region.amazonaws.com\":\"ecr-login\"}}" > /kaniko/.docker/config.json
    - executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/k8s/job-manager/Dockerfile --build-arg DECRYPTION_SECRET="$DECRYPTION_SECRET" --destination $AWS_REPOSITORY_JOB_MANAGER:$CI_COMMIT_REF_SLUG --verbosity=panic
    - exit
    - executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/k8s/command-image/Dockerfile --build-arg DECRYPTION_SECRET="$DECRYPTION_SECRET" --destination $AWS_REPOSITORY_COMMAND_IMAGE:$CI_COMMIT_REF_SLUG --verbosity=panic

无论如何……有没有办法在同一阶段一个一个地运行 2 个执行程序?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...