![](/img/trans.png)
[英]Installing a web application in a Docker container: dial unix /var/run/docker.sock: no such file or directory
[英]Preparation failed: Cannot connect to the Docker daemon at unix:///var/run/docker.sock
我啟動了一個docker容器gitlab-ci-runner,然后使用docker作為執行器注冊了一個runner,使用node:latest作為docker鏡像。 但是當我推送提交到 gitlab 時,我收到了這個錯誤:
Running with gitlab-runner 11.3.1 (0aa5179e)
on docker-ci 0f9fe2c4
Using Docker executor with image node:latest ...
ERROR: Preparation failed: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? (executor_docker.go:1150:0s)
這是我的 gitlab config.toml:
concurrent = 1
check_interval = 0
[session_server]
session_timeout = 1800
[[runners]]
name = "docker-ci"
url = "http://gitlab.xxxxxx.com/"
token = "0......fc5"
executor = "docker"
[runners.docker]
tls_verify = false
image = "node:latest"
privileged = false
disable_cache = false
volumes = ["/cache"]
shm_size = 0
[runners.cache]
[runners.cache.s3]
[runners.cache.gcs]
我使用以下方法啟動容器:
sudo docker run -d --name gitlab-runner --restart always \
-v ~/srv/gitlab-runner/config:/etc/gitlab-runner \
-v ~/var/run/docker.sock:/var/run/docker.sock \
gitlab/gitlab-runner:latest
並注冊使用:
sudo docker run --rm -t -i -v ~/srv/gitlab-runner/config:/etc/gitlab-runner gitlab/gitlab-runner register
我是 docker 新手,找不到錯誤原因。有人可以幫助我嗎?
由於您的CLI容器或gitlab-ci-runner container
需要在gitlab-ci-runner container
中掛載主機的Docker套接字。 這將允許您的容器使用主機的Docker守護程序來運行容器並構建映像。
您只需要修改gitlab-ci-runner的運行命令。
docker run -d --name gitlab-runner --restart always \
-v /srv/gitlab-runner/config:/etc/gitlab-runner \
-v /var/run/docker.sock:/var/run/docker.sock \
gitlab/gitlab-runner:latest
我的情況下,我的機器上沒有docker。 這是安裝文檔https://docs.docker.com/install/linux/docker-ce/ubuntu/#install-docker-ce
sudo apt-get install docker-ce docker-ce-cli containerd.io
正如@Adiii 所提到的。 不同之處在於:
~/var/run/docker.sock:/var/run/docker.sock
或/srv/run/docker.sock:/var/run/docker.sock
到/var/run/docker.sock:/var/run/docker.sock
config.toml
[[runners]]
[runners.docker]
volumes = ["/var/run/docker.sock:/var/run/docker.sock", "/cache"]
其中“/var/run/docker.sock:/var/run/docker.sock”是重要的變化。
最好在此處的問題討論中進行描述: https : //gitlab.com/gitlab-org/gitlab-runner/-/issues/1986
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.