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,

Другие вопросы по тегам