Docker在GitLab CI runner容器

时间:2017-09-25 17:49:29

标签: docker gitlab gitlab-ci gitlab-ci-runner

我正在尝试使用digitallumberjack提供的GitLab CI运行器,因为它支持在容器内使用Docker命令。

GitLab CI跑步者脚本:

docker run --name gitlab-ci-multi-runner -d --restart=always \
  --volume /var/run/docker.sock:/var/run/docker.sock \
  --volume /mnt/data/gitlab/gitlab-runner:/home/gitlab_ci_multi_runner/data \
  --env='CI_SERVER_URL=https://gitlab.dev.abc.net/ci' --env='RUNNER_TOKEN=RijUZPnMjGeNF2JYt' \
  --env='RUNNER_DESCRIPTION=runnerA' --env='RUNNER_EXECUTOR=docker' \
  --env='RUNNER_DOCKER_IMAGE=docker:17.07.0-ce' --env='RUNNER_DOCKER_MODE=socket' \
  --link gitlab.dev.abc.net \
  digitallumberjack/docker-gitlab-ci-multi-runner:v9.3.0-1

.gitlab-ci.yml内容:

image: node:6.11

types:
        - build
        - deploy

build_app:
        type: build
        script: "bash chmod +x ./configure_proxy_artifactory.sh"
        script: "bash ./configure_proxy_artifactory.sh"

但是,当GitLab CI构建运行时,我在跑步者日志中收到以下错误:

./configure_proxy_artifactory.sh: line 13: docker: command not found

似乎Docker仍未配置上述转轮脚本。知道如何解决这个问题吗?

更新:在容器内,这是我的观察结果:

root@5489eb3ebe42:/home/gitlab_ci_multi_runner# ls -l /var/run/docker.sock
srw-rw---- 1 root docker 0 Jul 21 00:53 /var/run/docker.sock
root@5489eb3ebe42:/home/gitlab_ci_multi_runner# docker ps
bash: docker: command not found

1 个答案:

答案 0 :(得分:0)

我不确定你为什么不使用官方的Gitlab Runner图片:gitlab / gitlab-runner:latest但是我认为这只是一个偏好问题,我也建议你也应该传递--privileged标志看看是否有帮助。