【问题标题】:Docker inside docker with gitlab-ci.yml使用 gitlab-ci.yml 的 Docker 内部的 Docker
【发布时间】:2018-11-29 11:39:13
【问题描述】:

我已经创建了一个 gitlab 运行器。

我选择了 docker executor 和一个 ubuntu 默认镜像。

我把它放在我的 .gitlab-ci.yml 文件的顶部:

image: microsoft/dotnet:latest

我在想如果 .gitlab-ci.yml 文件中没有“images”指令,gitlab-ci 会默认加载 ubuntu 图像。

但是,有一点奇怪:我现在想知道 gitlab-ci 是不是创建了一个 ubuntu 容器,然后在 ubuntu 容器中创建了一个 dotnet 容器。

这是我在 gitlab 服务器上完成的一个非常丑陋的测试:我删除了 /usr/bin/docker 文件,并用一个记录参数的脚本替换了它。

这很奇怪,因为作业仍在工作,而我的日志文件中没有任何内容....

谢谢

【问题讨论】:

    标签: docker gitlab gitlab-ci


    【解决方案1】:

    如果您没有指定映像,但确实使用了 Ubuntu 映像,并且您的作业应该在 dotnet 容器上运行,而无需启动 ubuntu。

    您的测试的行为方式与它的行为方式相同,因为 docker 是客户端,而 dockerd 是 gitlab runner 实际调用的守护进程。

    如果您想检查发生了什么,您应该致电docker ps 来获取正在运行的容器列表。

    【讨论】:

      猜你喜欢
      • 2022-01-09
      • 1970-01-01
      • 2017-02-13
      • 2020-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多