GitLab - Docker inside gitlab/gitlab-ce 出错
GitLab - Docker inside gitlab/gitlab-ce get errors
我正在 运行docker 上安装一个 gitlab/gitlab-ce 容器。然后,在其中,我想 运行 一个 gitlab-运行ner 服务,通过提供 docker 作为 运行ner。我 运行 的每个命令(例如 docker ps、docker 容器 ..),我都会收到此错误:
无法连接到位于 unix:///var/run/docker.sock 的 Docker 守护进程。是
docker 守护进程 运行ning
P.s:我试过 service docker restart
,重新安装 docker 和 gitlab-运行ner.
默认情况下,docker 容器 运行 gitlab 无法访问主机上的 docker 守护进程。 docker 客户端使用套接字连接与 docker 守护程序通信。此套接字在您的容器中不可用。
您可以使用 docker 卷使主机的套接字在容器中可用:
docker run -v /var/run/docker.sock:/var/run/docker.sock gitlab/gitlab-ce
之后您将能够使用容器中的 docker 客户端与主机上的 docker 守护程序进行通信。
通过 default 无法 运行 docker-in-docker(作为安全措施)。
您可以 运行 您的 Gitlab 容器处于特权模式,挂载套接字 (-v /var/run/docker.sock://var/run/docker.sock
) 并重试。
此外,还有一张 docker-in-docker 图像已经是 modified for docker-in-docker usage. You can read up on it here and create your own custom gitlab/gitlab-ce 图像。
在这两种情况下,最终结果将与 docker-in-docker 相同,并不是真正的 docker-in-docker 但让您从 docker 容器中管理主机 docker-engine。因此,只需 运行 在同一台主机上连接 Gitlab-ci-runner docker image 就可以得到相同的结果,而且要容易得多。
我正在 运行docker 上安装一个 gitlab/gitlab-ce 容器。然后,在其中,我想 运行 一个 gitlab-运行ner 服务,通过提供 docker 作为 运行ner。我 运行 的每个命令(例如 docker ps、docker 容器 ..),我都会收到此错误:
无法连接到位于 unix:///var/run/docker.sock 的 Docker 守护进程。是 docker 守护进程 运行ning
P.s:我试过 service docker restart
,重新安装 docker 和 gitlab-运行ner.
默认情况下,docker 容器 运行 gitlab 无法访问主机上的 docker 守护进程。 docker 客户端使用套接字连接与 docker 守护程序通信。此套接字在您的容器中不可用。
您可以使用 docker 卷使主机的套接字在容器中可用:
docker run -v /var/run/docker.sock:/var/run/docker.sock gitlab/gitlab-ce
之后您将能够使用容器中的 docker 客户端与主机上的 docker 守护程序进行通信。
通过 default 无法 运行 docker-in-docker(作为安全措施)。
您可以 运行 您的 Gitlab 容器处于特权模式,挂载套接字 (-v /var/run/docker.sock://var/run/docker.sock
) 并重试。
此外,还有一张 docker-in-docker 图像已经是 modified for docker-in-docker usage. You can read up on it here and create your own custom gitlab/gitlab-ce 图像。
在这两种情况下,最终结果将与 docker-in-docker 相同,并不是真正的 docker-in-docker 但让您从 docker 容器中管理主机 docker-engine。因此,只需 运行 在同一台主机上连接 Gitlab-ci-runner docker image 就可以得到相同的结果,而且要容易得多。