如何解决执行 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 举报,一经查实,本站将立刻删除。