Abd*_*UMI 5 jenkins docker kubernetes terraform docker-buildkit
我正在使用 Build Toolkit 为每个微服务构建 docker 映像。
./build.sh
export DOCKER_BUILDKIT=1
# ....
docker build -t ....
# ...
Run Code Online (Sandbox Code Playgroud)
这可以在我的机器上使用 docker (18.09.2) 运行。
但是,它不适用于 Jenkins,我设置如下:
EKS 配置有 Terraform 模块
module "eks" {
source = "terraform-aws-modules/eks/aws"
version = "5.0.0"
# ....
}
Run Code Online (Sandbox Code Playgroud)Jenkins通过此Helm Chart部署在 EKS( v1.12.10-eks-ffbd9, ) 上。docker://18.6.1
Jenkins 插件在 helm 版本的值中定义:
Jenkins Pipeline 是声明式的,它使用 Pod 模板,其中容器映像为docker:18-dind,容器名称为dind。
这是我的 Jenkins 文件
pipeline {
agent {
kubernetes {
defaultContainer 'jnlp'
yamlFile 'jenkins-pod.yaml'
}
}
stages {
stage('Build Backends') {
steps {
container('dind') {
sh 'chmod +x *sh'
sh './build.sh -t=dev'
}
containerLog 'dind'
}
}
}
Run Code Online (Sandbox Code Playgroud)
}
当 Jenkins 执行此管道时,它显示以下错误:
buildkit not supported by daemon
Run Code Online (Sandbox Code Playgroud)
我不确定应该升级哪个软件才能使 docker-buildkit 工作?以及哪个版本?
或者
或者
kubernetes:1.18.1?根据docker-ce 来源isSessionSupported,成功检查启动会话有两个要求buildkit:
dockerCli.ServerInfo().HasExperimentalversions.GreaterThanOrEqualTo(dockerCli.Client().ClientVersion(), "1.31"所以:
docker-cli库的版本HasExperimental选项已启用。要检查它是否有实验支持,请运行:
docker version -f '{{.Server.Experimental}}'
| 归档时间: |
|
| 查看次数: |
4227 次 |
| 最近记录: |