alpine在使用gitlab-ci时无法访问docker守护程序
alpine在使用gitlab-ci时无法访问docker守护程序
我有一个定制的GitLab CI,我想要编译一个Golang应用程序并构建一个Docker镜像。我决定使用alpine Docker镜像来运行GitLab Runner。但是我无法启动docker。我尝试手动启动docker并且出现了一个错误(* WARNING: docker is already starting
),而如果我不手动启动docker服务,就会出现(Fails (Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
)还有其他人遇到过这个问题吗?
这不是一个重复的问题。GitLab Runner在root用户下运行docker alpine容器(通过运行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 # 如果我不运行(service docker start),我会得到这个信息:Fails (Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?)