在 AZURE PIPELINE 中拉取和运行基于 Linux docker 的镜像时,我收到此错误:
“图像操作系统“Linux”不能在这个平台上使用”

  • 我创建了一个 Linux docker 镜像
  • 我将图像推送到 azure 注册表
  • 我按如下方式设置了 azure 管道:
  • Docker CLI
  • Azure CLI:
  • 我登录到注册表
  • 命令行:
  • 我做:docker pull image
  • 我做: docker run -it image


  • 当我运行管道时,出现此错误:
    “图像操作系统“Linux”不能在这个平台上使用”

    脚本输出:
    2019-03-25T21:23:03.4513990Z ##[section]Starting: Command Line Script
    2019-03-25T21:23:03.4616971Z ==============================================================================
    2019-03-25T21:23:03.4617284Z Task         : Command Line
    2019-03-25T21:23:03.4617442Z Description  : Run a command line script using cmd.exe on Windows and bash on macOS and Linux.
    2019-03-25T21:23:03.4617592Z Version      : 2.146.1
    2019-03-25T21:23:03.4617715Z Author       : Microsoft Corporation
    2019-03-25T21:23:03.4618046Z ==============================================================================
    2019-03-25T21:23:04.8241638Z Generating script.
    2019-03-25T21:23:04.9020040Z ##[command]"C:\windows\system32\cmd.exe" /D /E:ON /V:OFF /S /C "CALL "D:\a\_temp\157d3a61-fe5f-46b2-b74e-1082d4532014.cmd""
    2019-03-25T21:23:05.7814076Z v1: Pulling from hubb-api-tests
    2019-03-25T21:23:06.2370457Z image operating system "linux" cannot be used on this platform
    2019-03-25T21:23:06.2872386Z the input device is not a TTY.  If you are using mintty, try prefixing the command with 'winpty'
    2019-03-25T21:23:06.3934386Z ##[error]Cmd.exe exited with code '1'.
    2019-03-25T21:23:06.4549404Z ##[section]Finishing: Command Line Script
    

    我希望能够拉取镜像并在 Azure DevOps 管道上运行它,因为我在本地计算机上测试了相同的步骤,没有出现任何问题。

    非常感谢你

    最佳答案

    您只能使用配置为允许在 Windows 上运行 linux 容器的自己的 Windows 代理来实现这一点。托管代理不允许这样做。

    关于azure - 在 azure 管道上拉取并运行 Linux docker 镜像,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55348584/

    10-12 12:35