Windows Server 2019上docker-compose适配Windows镜像失败求助
解决Docker-Compose在Windows Server 2019上运行Windows镜像的KeyError问题
问题分析
报错KeyError: 'ContainerConfig'是docker-compose处理Windows容器配置时的解析异常,结合你的配置文件,核心问题集中在路径格式、配置规范和版本兼容性上。
修复步骤
1. 修正docker-compose.yml的卷挂载配置
你的卷配置存在两处问题:
- YAML语法中反斜杠需转义为双反斜杠,或直接使用正斜杠(跨平台兼容)
- 卷挂载必须明确
宿主机路径:容器内路径的格式,仅写单一路径会被识别为匿名卷,触发解析错误
修改后的配置:
volumes: - "C:\\Git\\test:C:\\Git\\test" # 或使用正斜杠(推荐) # - "C:/Git/test:C:/Git/test"
2. 更换兼容Windows容器的docker-compose版本
旧版docker-compose(尤其是v1.x系列)对Windows容器支持存在缺陷,建议安装v2.x及以上的稳定版本:
- 卸载当前docker-compose,下载适配Windows的二进制文件
- 将
docker-compose.exe放入系统PATH目录,验证版本:
docker-compose --version
3. 规范Dockerfile路径写法
Dockerfile中Windows路径建议用正斜杠或双反斜杠,避免解析歧义:
WORKDIR "C:/Git/test" # 或 # WORKDIR "C:\\Git\\test"
4. 修正容器启动命令
Windows版Python镜像中,启动命令是python而非python3,修改docker-compose.yml的command字段:
command: python ./main.py
5. 确认Docker引擎处于Windows容器模式
Linux容器模式无法运行Windows镜像,执行命令切换:
docker context use default
验证修复
执行以下命令重新构建启动服务:
docker-compose down docker-compose build --no-cache docker-compose up
内容的提问来源于stack exchange,提问作者Echen
相关产品推荐
相关产品推荐

