use*_*273 3 gitlab docker gitlab-ci gitlab-ci-runner
运行Gitlab CI管道时出现此错误。据我了解,错误表明我正在尝试在Windows docker-engine上运行Linux类型的docker映像?但问题是我正在使用Windows docker映像。可能是什么问题呢?
错误:作业失败:执行程序需要OSType = linux,但是Docker Engine仅支持OSType = windows
我的CI:
image: hello-world:nanoserver
stages:
- build
build1:
stage: build
script:
- echo "Hello world"
Run Code Online (Sandbox Code Playgroud)
“共享”和“简单”标签之间有什么区别?
一些映像在“支持的标签和相应的Dockerfile链接”下将“简单标签”和“共享标签”部分分开(请参阅mongo图像示例)。
“简单标签”是“单个” Linux或Windows映像的实例。它通常是一个清单清单,可以包含为其他体系结构构建的相同映像。例如,mongo:4.0-xenial当前具有用于amd64和arm64v8的映像。Docker守护程序负责为主机架构选择适当的映像。
“共享标签”是始终指向清单清单的标签,该清单包括跨所有映像结构的Windows和Linux映像的潜在多个版本的某种组合-在mongo示例中,4.0标记是由(在撰写本文时)所有4.0-xenial,4.0-windowsservercore-ltsc2016、4.0-windowsservercore-1709和4.0-windowsservercore-1803。
“简单标签”使docker运行mongo:4.0-xenial可以跨单个平台上的体系结构“做正确的事”(对于Linux,在mongo:4.0-xenial的情况下)。“共享标签”使docker run mongo:4.0可以在Linux和受支持的Windows的许多不同版本(例如Windows Server Core LTSC 2016)上大致工作,其中Docker守护程序再次负责确定适当的映像。基于主机平台和版本)。
我建议您尝试共享标签:
image: hello-world
Run Code Online (Sandbox Code Playgroud)
该latest 标签具有:
linux/386
windows v10.0.17134.1069/amd64
windows v10.0.17763.802/amd64
Run Code Online (Sandbox Code Playgroud)
Docker将为您挑选合适的
从这里您需要执行程序docker-windows来运行Windows Container
因此您可以将其添加executor = "docker-windows"到跑步者配置中
该hello-world:nanoserver镜像基于Linux。因此抛出错误消息。
您正在使用 Windows docker 引擎。使用winamd64/hello-world
| 归档时间: |
|
| 查看次数: |
114 次 |
| 最近记录: |