【发布时间】:2019-05-20 11:32:11
【问题描述】:
当我在 Jenkins 中从我的 Dockerfile 构建作业时 当控制台尝试执行 docker 映像时,我收到类似“docker:来自守护程序的错误响应:oci 运行时错误:container_linux.go:235”的错误。
我的 Jenkins 是由 Dockerfile 构建的。参考是https://medium.com/@gustavo.guss/jenkins-building-docker-image-and-sending-to-registry-64b84ea45ee9。
FROM jenkins/jenkins:lts
USER root
RUN apt-get update && \
apt-get -y install apt-transport-https \
ca-certificates \
curl \
gnupg2 \
software-properties-common && \
curl -fsSL https://download.docker.com/linux/$(. /etc/os-release; echo "$ID")/gpg > /tmp/dkey; apt-key add /tmp/dkey && \
add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/$(. /etc/os-release; echo "$ID") \
$(lsb_release -cs) \
stable" && \
apt-get update && \
apt-get -y install docker-ce
RUN apt-get install -y docker-ce
RUN usermod -a -G docker jenkins
USER jenkins
我的 Jenkins 输出如下所示。成功构建镜像后返回错误。
Successfully built b9afd9ecb148
docker: Error response from daemon: oci runtime error: container_linux.go:235: starting container process caused "chdir to cwd (\"/var/jenkins_home/workspace/Integration-Es-Contracts\") set in config.json failed: no such file or directory".
FATAL: Failed to run docker image
【问题讨论】:
-
“/var/jenkins_home/workspace/Integration-Es-Contracts”是否存在? Jenkins 用户是否有权访问“/var/jenkins_home/workspace/Integration-Es-Contracts”?你是用什么命令行启动容器的?您是否为 Jenkins 创建了音量?我认为您应该首先检查路径是否存在以及 Jenkis 用户是否有权使用它。
-
感谢您的帮助!我发现问题与权限有关。
-
完美!感谢您的反馈!