微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

执行 k8s:build 时无法使用 JKube 插件生成 Docker 镜像

如何解决执行 k8s:build 时无法使用 JKube 插件生成 Docker 镜像

我正在使用 Jkube maven 插件通过 Jenkins 管道在 Ubuntu 下的 AWS EC2 实例上生成 Docker 映像。
当管道执行 mvn clean install k8s:build 时,我收到此错误

[ERROR] Failed to execute goal org.eclipse.jkube:kubernetes-maven-plugin:1.3.0:build (default-cli) on project social-carpooling-frontend: Execution default-cli of goal org.eclipse.jkube:kubernetes-maven-plugin:1.3.0:build Failed: No <dockerHost> given,no DOCKER_HOST environment variable,no read/writable '/var/run/docker.sock' or '//./pipe/docker_engine' and no external provider like Docker machine configured -> [Help 1]

这是 Jenkins 管道:

pipeline {
  agent any
  stages {
    stage('Docker Check Stage') {
      steps {
        sh '/home/bitnami/downloads/apache-maven-3.8.1/bin/mvn clean install k8s:build -Premote'
      }
    }
  }
}

当我使用 ssh 登录到这台机器并执行 docker -v 时,它说 Docker version 20.10.0,build 7287ab3

所以 Docker 真的安装好了,守护进程也启动了,但是当我通过 maven 触发它时,它似乎没有找到它! 有什么想法吗?

解决方法

问题是由于运行 maven 命令的用户无权访问 docker.sock

解决办法是这样修改docker.sock的读写权限:

sudo chmod 776 /var/run/docker.sock

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?