带有gitlab-ci.yml的Docker内部的Docker

时间:2018-06-20 10:52:26

标签: docker gitlab gitlab-ci

我创建了一个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文件,并用记录参数的脚本替换了它。

这很奇怪,因为作业仍在工作,并且我的日志文件中什么也没有。...

谢谢

1 个答案:

答案 0 :(得分:0)

如果您未指定图像但确实指定了图像,则确实会使用Ubuntu图像,并且您的作业应在dotnet容器上运行,而不必旋转ubuntu。

您的测试的行为方式与之类似,因为docker是客户端,而dockerd是gitlab运行程序实际调用的守护进程。

如果要查看正在发生的事情,则应调用docker ps来获取正在运行的容器的列表。