gitlab-ci runner的Docker Executor |我怎样才能看到构建所在的docker容器?

时间:2017-02-02 04:48:05

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

我是gitlab-ci的新手。我在我的私人服务器上用docker executor设置了gitlab runner。当我将新提交合并到我的仓库时,会触发构建。我可以通过Gitlab的网络用户界面确认 据我所知,这些作业是在跑步者服务器上运行的,所以我想我的私人跑步者服务器上创建了docker容器。但是当我做docker ps -a时,我看不到那个容器,或者我甚至看不到用于创建容器的docker图像。
有没有办法检查容器/图像运行工作?或者我的理解是否有任何错误?

我可以在Web控制台上查看作业日志,但是我可以在CLI上看到这些日志吗?

如果我在任何时候出错,请纠正我。

1 个答案:

答案 0 :(得分:1)

  

当我做docker ps -a或者我甚至看不到用于创建容器的docker图像。

如果你已经激活了docker:dind服务(docker in docker),那么这似乎是预期的。

你会看到你的容器只有Docker socket binding ,其中由docker命令产生的任何容器都是Runner的兄弟,而不是跑步者的孩子。

  

通过共享docker守护程序,您实际上会禁用容器的所有安全机制,并使主机暴露于权限升级,这可能导致容器突破。
  例如,如果项目运行docker rm -f $(docker ps -a -q),它将删除GitLab Runner容器。