我尝试将 Azure Function 项目添加到在 Visual Studio 2019 (16.7.6) 中创建的 docker-compose 文件中,但这会导致解决方案无法构建。
(Docker for Windows 2.4.0.0 (48506),启用了 WSL2 支持,在 Windows 10 Pro 2004 上以 Linux 容器模式运行)
重现步骤:
- 使用包含 docker 的 Web Api 项目“Web”创建新的解决方案
支持。
- 添加带有 Http 触发器的新 Azure Function 项目“Func”
功能,然后通过 Visual Studio 添加 docker 支持 >
Docker 支持选项。
- 向 Web 添加“容器编排支持”
项目生成包含 Web 应用程序的 docker-compose.yml 文件
此时,解决方案可以在 docker 或 docker-compose 中为 Web 或 func 应用程序构建调试工作 - 一切都很好。
当“Func”项目手动添加到 docker-compose.yml 时,解决方案不再构建:
CTC1031 Linux containers are not supported for Func project
Project: docker-compose
File: Microsoft.VisualStudio.Docker.Compose.targets
Line 303
但是,我可以从命令行正常运行 docker-compose:
docker-compose -f docker-compose.yml up
Web 和 Function 应用程序启动都很好。
我的 docker-compose.yml 文件是
version: '3.4'
services:
web:
image: ${DOCKER_REGISTRY-}web
build:
context: .
dockerfile: Web/Dockerfile
func:
image: ${DOCKER_REGISTRY-}func
build:
context: .
dockerfile: Func/Dockerfile
在 Visual Studio 中构建解决方案时为什么会出现上述错误,有什么想法吗?