Windows10开机启动Docker部署Linux容器遇镜像清单匹配错误求助
解决Docker镜像清单匹配错误的方案
问题原因
错误提示no matching manifest for windows/amd64 10.0.19044,说明当前Docker处于Windows容器模式,但你尝试拉取的python:3.10-bullseye是Linux专属镜像,没有对应的Windows版本,因此匹配失败。这大概率是任务计划程序执行脚本时,Docker的运行模式和你手动操作时不一致导致的。
具体解决步骤
1. 锁定Docker默认使用Linux容器模式
- 右键任务栏中的Docker图标,确认菜单显示
Switch to Windows containers(如果显示Switch to Linux containers,说明当前模式错误,点击切换)。 - 打开Docker Desktop设置,进入
General页面:- 勾选
Use the WSL 2 based engine - 勾选
Start Docker Desktop when you log in,确保开机自动启动的是正确配置的Docker Desktop - 重启Docker Desktop生效
- 勾选
2. 修改任务计划程序的执行脚本
在脚本中强制指定使用Linux容器上下文,避免模式切换问题。将原脚本的docker compose -d替换为以下命令:
# 切换到Linux容器上下文(默认上下文名为default,若你修改过则替换为对应名称) docker context use default # 启动容器栈 docker compose up -d
或者直接在命令中指定上下文,一步到位:
docker --context default compose up -d
3. 检查任务计划程序的执行配置
- 确保任务的执行账户和你手动运行Docker时使用的账户一致,避免因权限或环境变量差异导致Docker状态异常。
- 在任务设置的
操作选项中,确认脚本的起始于路径是你的docker-compose.yml所在的目录,否则会因路径错误导致构建失败。
4. 调试验证
可以手动运行修改后的脚本,查看输出是否正常。如果仍有问题,可在脚本中添加调试命令,确认Docker状态:
# 查看当前Docker上下文信息 docker context ls # 查看当前Docker的OSType(应为linux) docker info | findstr "OSType" # 启动容器 docker compose up -d
内容的提问来源于stack exchange,提问作者Intolighter
相关产品推荐
相关产品推荐

