Docker 显示错误:无法连接到 unix:///var/run/docker.sock 上的 Docker 守护进程。 docker 守护进程是否正在运行?

时间:2021-07-03 02:12:45

标签: docker dockerfile teamcity docker-registry docker-in-docker

我正在尝试使用 dockerfile 在 Docker DinD(Docker 中的 Docker)中运行 TeamCity CI 服务器。我使用官方 docker:19-dind 图像作为基本图像。

主要目的是创建一个 DinD 容器并在该 DinD 容器中运行 TeamCity 的官方容器。首先,使用 DinD 真的可以吗?

dockerfile 如下:

.dockerignore

# Official Docker in Docker 19 version as base image.
FROM docker:19-dind AS base
# Create work directory
WORKDIR /teamcity-ci-server
# Command to check version
RUN docker --version 


# Final image inherited from base image
FROM base as final
# Adding directory
WORKDIR /teamcity-ci-server
# Run commands to setup TeamCity CI Server
RUN docker pull jetbrains/teamcity-server \
&& docker images \
&& docker run -d --privileged --name teamcity-ci-server -p 5002:8111 jetbrains/teamcity-server 

# Add volume mount for DinD
VOLUME /var/run/docker.sock:/var/run/docker.sock

# Exposing port 
EXPOSE 5001

但是,在运行 docker build -f .dockerignore -t teamcity-ci-server:v1 . 后,我收到以下错误:

<块引用>

无法连接到 unix:///var/run/docker.sock 上的 Docker 守护进程。 docker 守护进程是否正在运行?

enter image description here

我相信显示此错误是因为 docker 未运行。认为我无法运行 systemctl start docker,因为这不是 linux 映像并且 systemctl 在这里不起作用。

有谁知道如何解决 Docker DinD 映像中发生的这个问题?

0 个答案:

没有答案