来自安装了 Docker 引擎的 Jenkins JDK 11 的 Dockerfile - 无法连接到 Docker 守护进程

Jac*_*ley 5 debian jenkins docker

我创建了一个基于jenkins/jenkins:lts-jdk11

\n

我正在尝试安装 docker + docker compose,以便当我为 CD/CI 创建管道时 jenkins 可以访问它。

\n

这是我的 Dockerfile:

\n
FROM jenkins/jenkins:lts-jdk11 AS jenkins\n\nWORKDIR /home/jenkins\n\nRUN chown -R 1000:1000 /var/jenkins_home\n\nUSER root\n\n# Install aws cli version 2\nRUN apt-get update && apt-get install -y unzip curl vim bash sudo\nRUN curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"\nRUN unzip awscliv2.zip\nRUN ./aws/install\n\n#Install docker cli command\nRUN sudo apt-get update\nRUN sudo apt install -y apt-transport-https ca-certificates curl gnupg lsb-release\nRUN curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg\nRUN echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \\\n      $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null\nRUN sudo apt-get update\nRUN sudo apt-get install -y docker-ce docker-ce-cli containerd.io\n\n##Install docker compose\nRUN mkdir -p /usr/local/lib/docker/cli-plugins\nRUN curl -SL https://github.com/docker/compose/releases/download/v2.2.3/docker-compose-linux-x86_64 -o /usr/local/lib/docker/cli-plugins/docker-compose\nRUN chmod +x /usr/local/lib/docker/cli-plugins/docker-compose\n\nRUN sudo usermod -a -G docker jenkins\n
Run Code Online (Sandbox Code Playgroud)\n

docker 命令在容器内运行良好,但一旦我开始构建图像,它就会显示此错误:

\n

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

\n

如果我尝试启动 docker 服务,则会service docker start收到以下错误:

\n

mkdir: cannot create directory \xe2\x80\x98cpuset\xe2\x80\x99: Read-only file system

\n

我不知道如何解决这个问题。

\n

TIA

\n

小智 0

容器不使用 init 系统。Docker服务因此无法启动。