我正在码头上运行一个gitlab/gitlab-ce容器。然后,在它里面,我想运行一个gitlab-runner服务,通过提供码头作为跑步者。而我运行的每一个命令(例如,docker,docker容器.),都会得到以下错误:
无法连接到unix:/var/run/docker.sock上的Docker守护进程。是运行的docker守护进程吗?
P.s:我试过service docker restart,恢复码头和gitlab-runner。
发布于 2017-12-31 10:44:22
通过默认设置,不可能运行对接者(作为一种安全措施)。
您可以以特权模式运行Gitlab容器,挂载套接字(-v /var/run/docker.sock://var/run/docker.sock),然后再试一次。
此外,有一个码头-在码头形象,已经是已修改的码头内使用。您可以在上面阅读这里并创建您自己的自定义gitlab/gitlab-ce映像。
在这两种情况下,最终结果将是相同的对接者-在码头不是真正的对接-在码头,但让您的主机码头引擎从一个码头集装箱。因此,仅在同一台主机上运行Gitlab-ci-runner码头形象就会得到相同的结果,而且要容易得多。
发布于 2017-12-31 10:39:19
默认情况下,运行gitlab的docker容器无法访问主机上的docker守护进程。对接器客户端使用套接字连接与停靠守护进程通信。此套接字在容器中不可用。
您可以使用一个停靠卷使您的主机的套接字在容器中可用:
docker run -v /var/run/docker.sock:/var/run/docker.sock gitlab/gitlab-ce之后,您将能够使用容器中的docker客户端与主机上的docker守护进程进行通信。
https://stackoverflow.com/questions/48039867
复制相似问题