gpt4 book ai didi

docker - Jenkins docker 容器总是添加 cat 命令

转载 作者:行者123 更新时间:2023-12-02 06:48:27 26 4
gpt4 key购买 nike

我正在创建 Jenkins 管道以在 Docker 容器上运行 terraform。

这是我的管道脚本。

pipeline {
agent {
docker {
image 'hashicorp/terraform:full'
args '--entrypoint=/bin/bash'
}
}
stages {
stage('execute') {
steps {
sh 'terraform --version'
}
}
}
}

在 Jenkins 上运行此管道时,出现以下错误。

$ docker run -t -d -u 995:993 --entrypoint=/bin/bash -w /var/lib/jenkins/workspace/terraform -v /var/lib/jenkins/workspace/terraform:/var/lib/jenkins/workspace/terraform:rw,z -v /var/lib/jenkins/workspace/terraform@tmp:/var/lib/jenkins/workspace/terraform@tmp:rw,z -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** hashicorp/terraform:full cat

$ docker top a0b801d657d0fffdfa95c387564128b130ab1d28569ad59bd0151c8b7faf6ffd -eo pid,comm

java.io.IOException: Failed to run top 'a0b801d657d0fffdfa95c387564128b130ab1d28569ad59bd0151c8b7faf6ffd'. Error: Error response from daemon: Container a0b801d657d0fffdfa95c387564128b130ab1d28569ad59bd0151c8b7faf6ffd is not running

这看起来像 Jenkins 添加了一个 cat 命令来运行图像 hashcorp/terraform:full。

请注意,自 hashicorp/terraform:full 起,我已使用 --entrypoint=/bin/bash 覆盖了 /bin/bash 的入口点em> 已经定义了一个入口点。

最佳答案

我必须将 ENTRYPOINT 更改为空,以禁用 terraform 容器定义中的入口点定义。我认为 light 图像足以执行 terraform。

我使用以下脚本让它工作:

pipeline {
agent {
docker {
image 'hashicorp/terraform:light'
args '--entrypoint='
}
}
stages {
stage('execute') {
steps {
sh 'terraform --version'
}
}
}
}

关于docker - Jenkins docker 容器总是添加 cat 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55369726/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com