mkdir /.docker:当试图在Mac上从Jenkins管道构建Docker镜像时,出现权限拒绝错误

hs1ihplo  于 2023-10-17  发布在  Jenkins
关注(0)|答案(1)|浏览(192)

我在Mac上运行Jenkins for MacOS(使用Homebrew)和Docker Desktop。
当我尝试从Jenkins pipeline为Python应用构建Docker镜像时,报告了以下错误:

+ docker build -t <docker image name> .
ERROR: mkdir /.docker: permission denied

Jenkinsfile片段:

pipeline {
    agent none
    stages {
        ...
            stage("Build Docker Image") {
            agent {
                docker { image 'docker:24.0.5' }
            }
            steps {
               script {
                dockerImage = docker.build("<docker image name>:${env.BUILD_ID}")
               }
            }
        }
        ...
    }
}

Dockerfile(来自GitHub存储库上的根路径):

FROM python:alpine3.18
WORKDIR /app
COPY requirements.txt /app
RUN pip install -r requirements.txt
EXPOSE 5000
COPY . /app
CMD ["flask", "run","--host","0.0.0.0","--port","5000"]

在前面的阶段中,Docker容器已经成功使用。

编辑:

我需要应用这个解决方案:https://harshityadav95.medium.com/how-to-setup-docker-in-jenkins-on-mac-c45fe02f91c5,因为在此之前我遇到过docker command not found问题。
我假设Jenkins的用户没有权限在./docker目录中写入,但我不确定这是哪个用户。
任何帮助都欢迎。提前感谢您的时间。

2w3rbyxf

2w3rbyxf1#

我通过在Jenkins阶段中将HOME设置为${env.WORKSPACE}来解决报告的问题:

environment {
                HOME = "${env.WORKSPACE}"
            }

我希望它能帮助某人。

相关问题