1

我在启用了 Hyper-V 的 Windows Server 上有一个 gitlab-runner。

使用暴露于网络的 docker API,我可以运行 linux docker 容器,甚至可以使用 docker:latest 运行 docker 本身。

e:\>docker run -ti --rm -e DOCKER_HOST=tcp://10.99.0.12:2375 --name test docker:latest

/ # docker ps
CONTAINER ID ....
xxxxx docker:latest ... Up 10 seconds

/ # docker run -ti --rm busybox uname -a
Linux 42342423 4.14.35 ... 

所以这似乎都是正确的。

当我现在想docker-compose up -d在部署阶段运行 a 时,我会从 gitlab-runner 得到一个错误

Running with gitlab-runner 12.10.0 (c553af1a)
   on Staging Runner
Preparing the "docker" executor
 ERROR: Removing network for build
 ERROR: Job failed: executor requires OSType=linux, but Docker Engine supports only OSType=windows

我也许可以直接在主机上运行 gitlab-runner,而是将所有东西都放在存储库中,只需要安装 docker。

4

2 回答 2

0

对于遇到同样问题的每个人。

Gitlab 目前不想实现 LCOW,因此使用 docker-executor 是不可能的。

更多信息:https ://gitlab.com/gitlab-org/gitlab-runner/-/issues/4373

于 2020-04-29T18:03:18.277 回答
0

我最近遇到了这个。您必须进入 Windows 主机上的 Docker 并选择“切换到 Linux 容器...”选项。

有关的:

于 2020-04-29T13:43:19.220 回答