alpine не может получить доступ к демону Docker при использовании gitlab-ci
У меня есть пользовательский gitlab ci, который я хочу скомпилировать в приложении Golang и создать образ докера. Я решил использовать изображение альпийского докера для бегуна gitlab. Я не могу шов, чтобы начать докер. Я попытался вручную запустить Docker и получить ошибку (* WARNING: docker is already starting
), и если я не запускаю докерную службу вручную, я получаю (Fails (Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
) Кто-нибудь еще испытал это?
Это не было бы дублирующим вопросом. Gitlab runner запускает докер альпийский контейнер в корне (проверяется с помощью whoami). Ради попытки я попробовал usermod -aG docker $(whoami)
и имел тот же результат.
.gitlab-ci.yml
image: alpine
variables:
GO_PROJECT: linkscout
before_script:
- apk add --update go git libc-dev docker openrc
- mkdir -p ~/go/src/${GO_PROJECT}
- cp -r ${CI_PROJECT_DIR}/* ~/go/src/${GO_PROJECT}/
- cd ~/go/src/${GO_PROJECT}
- service docker start # * WARNING: docker is already starting
stages:
- compile
- build
compile:
stage: compile
script:
- go get
- go build -a
build:
stage: build
script:
- docker version # If I don't run (service docker start) I get this message: Fails (Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?)
1 ответ
По умолчанию вы не можете использовать Docker-in-docker. Вы должны настроить своего бегуна следующим образом. Затем, как указано в объяснении, также используйте docker:latest
как изображение вместо alpine
,