Gitlab runner無法呼叫host的docker?

跑GitLab docker runner時遇到cannot connect to the Docker daemon. Is 'docker daemon' running on this host?: dial unix /var/run/docker.sock: connect: no such file or directory"如何解決?

0
44

在設定GiLab的docker runner有時會需要用到在container裡呼叫docker指令的時候,如果你不是用DinD的image而是想呼叫host的docker時常常會遇到這種問題。

$ docker build -t "xxx-service" .
time="2020-05-29T07:41:06Z" level=error msg="failed to dial gRPC: cannot connect to the Docker daemon. Is 'docker daemon' running on this host?: dial unix /var/run/docker.sock: connect: no such file or directory"
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

其意思就是沒有成功把host的docker放到container裡來使用,你可以試試以下的解決方法。

1. 編輯host的docker設定檔

$ sudo vim /srv/gitlab-runner/config/config.toml

2. 在volumes的地方加入"/var/run/docker.sock:/run/docker.sock"

接著再retry一次GiLab CICD的job,應該就能執行了,這種方式是讓所有的ccontainer啟動時自動bind host的docker.sock。

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments