Docker friendly-hello构建失败求助:Windows容器镜像拉取错误
解决Docker构建时的
no matching manifest for windows/amd64错误 你完全猜对了!这个问题就是因为当前使用的是Windows容器模式,但官方文档里的python:2.7-slim是Linux专属镜像,两者不兼容导致的。下面给你两种可行的解决方案:
方案一:切换到Linux容器模式(推荐)
绝大多数Docker镜像都是基于Linux构建的,官方的《Getting Started》文档也是默认适配Linux容器,所以切换过去是最省心的选择:
- 右键点击任务栏里的Docker图标,选择「Switch to Linux containers」
- 等待Docker完成模式切换后,重新运行构建命令:
这次应该就能顺利拉取镜像并完成构建了。docker build -t friendly-hello .
方案二:改用支持Windows容器的Python镜像(仅当必须用Windows容器时)
如果你的业务场景必须依赖Windows容器,那需要替换Dockerfile里的基础镜像。这里要特别提醒:Python 2.7已经在2020年1月停止所有维护,Windows版本的Python 2.7官方镜像基本找不到,还存在严重安全风险,强烈建议你升级到Python 3.x版本。
举个调整示例,把Dockerfile里的第一行改成:
FROM python:3.9-windowsservercore
之后再根据Windows容器的特性调整后续命令(比如pip安装、脚本运行的语法在Windows容器里和Linux略有差异),再重新执行构建命令即可。
内容的提问来源于stack exchange,提问作者BanksySan
相关产品推荐
相关产品推荐

