0

我已经在我的托管 Kubernetes 集群上安装了 bitnami/jenkins。

我需要运行 Jenkins 作业,它将构建 docker 映像并推送到 docker 存储库。当我在主机上的简单容器中的 Jenkins 实例上执行此操作时,我只需将 docker.sock 作为卷安装到容器中。

但是,当我尝试在托管 Kubernetes 上的 Jenkins 中执行此操作时,我收到权限被拒绝错误。

/bitnami/jenkins/home/tools/org.jenkinsci.plugins.docker.commons.tools.DockerTool/Docker/bin/docker login -u **** -p ******** 
https://mydocker-repo/ Warning: failed to get default registry endpoint from daemon (Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get 
http://%2Fvar%2Frun%2Fdocker.sock/v1.29/info: dial unix /var/run/docker.sock: connect: permission denied). Using system default: https://index.docker.io/v1/ Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post 
http://%2Fvar%2Frun%2Fdocker.sock/v1.29/auth: dial unix /var/run/docker.sock: connect: permission denied

重现行为的步骤:

这些是卷挂载的掌舵值

extraVolumes:
  - hostPath:
      path: /var/run
    name: docker-sock
extraVolumeMounts:
   - mountPath: /var/run
     name: docker-sock

预期行为:

Docker 构建应该可以正常运行 我不想以 root 身份运行 Jenkins POD,尤其是在托管 Kubernetes 实例上也不允许

我该如何解决这个错误?

4

0 回答 0