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

标签 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文件,并用记录参数的脚本替换了它。

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

谢谢

最佳答案

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

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

如果要检查发生了什么,则应该调用docker ps来获取正在运行的容器的列表。

关于docker - 带有gitlab-ci.yml的Docker内部的Docker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50946499/

相关文章:

ldap - 使用 SASL 的 Gitlab LDAP

.net - 使用 gitlab-ci 停止 digitalocean ubuntu .net 上的服务器

kubernetes - CI/CD 与 gitlab(在线)到 kubernetes 集群(kismatic)

gitlab - 如何在自动运行的情况下手动运行 GitLab CI 管道?

python - 在 docker python 上安装 libLAS - 没有这样的文件或目录

go - 如何从 ci/cd gitlab 管道中的 proto 文件生成 pb 文件?

azure - 将 Azure 容器服务与卷映射结合使用

组下所有项目的Gitlab API

node.js - 如何在 Docker 容器内远程调试 NodeJs 应用程序?

docker - 通过命令行登录Docker Hub