【问题标题】:docker image in gitlab CI used for create docker imagegitlab CI中的docker镜像用于创建docker镜像
【发布时间】:2019-08-03 02:29:33
【问题描述】:

我想在 docker CI 中构建带有“准备运行”应用程序的 docker,为此我在 .gitlab-ci.yml 中创建了这段代码:

rebuild base docker:
  stage: prepear
  image: docker
  script:
    - docker build -t base_django environment

我想用官方的docker镜像来做(镜像:docker),当然在目录环境下我已经放置了Dockerfile。不幸的是,工作失败了:

Running with gitlab-runner 11.8.0 (4745a6f3)
  on docker-auto-scale 72989761
Using Docker executor with image docker ...
Pulling docker image docker ...
Using docker image sha256:639de9917ae1f2e4a586893c9a6ea3f21fd774bc4037184ecac35f3153a293b5 for docker ...
Running on runner-72989761-project-9841176-concurrent-0 via runner-72989761-srm-1552402128-c63119b1...
Cloning repository...
Cloning into '/builds/*****/*****'...
Checking out a804a12f as master...
Skipping Git submodules setup
$ docker build -t base_django environment
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
ERROR: Job failed: exit code 1

【问题讨论】:

  • 您需要安装docker,如果已经安装,请将您当前的用户添加到docker组。
  • 我使用了名为“docker”的 docker 镜像,正如我在类似的示例中看到的那样,安装了 docker,我只需要使用它。

标签: docker gitlab-ci docker-image


【解决方案1】:

您需要特定的配置才能使用 Gitlab CI 在 docker 中运行 docker。你可以在这里找到更多信息:https://docs.gitlab.com/ee/ci/docker/using_docker_build.html

【讨论】:

  • 感谢您的回答,您提供的文章末尾是完整的示例。在这个例子中,我可以看到在测试阶段的每个作业中,docker 镜像都是由 docker 命令拉取并运行的,我考虑了在构建阶段我将镜像推送到注册表的解决方案,在接下来的阶段我将通过镜像使用它:my_image in gitlab -ci.yml。我的想法错了吗?
  • 如果您想在构建后测试镜像,请将其推送到注册表并在同一阶段或下一阶段使用。你可以使用 docker executor 和你的镜像名称来运行它
猜你喜欢
  • 1970-01-01
  • 2021-12-29
  • 1970-01-01
  • 2020-08-09
  • 1970-01-01
  • 2018-02-13
  • 2018-08-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多