这个问题通常出现在使用Docker Compose构建ASP.NET Core 5应用程序和SQL Server容器时。出现该错误的原因可能是您没有正确设置Docker Compose文件。常见错误包括缺少卷定义和端口映射。
以下是具有正确Docker Compose文件设置的ASP.NET Core 5和SQL Server容器的示例:
docker-compose.yml文件
version: '3.4'
services: web: build: . ports: - "8000:80" depends_on: - db db: image: "mssql/server:2019-latest" ports: - "1433:1433" environment: SA_PASSWORD: "YourPassword123" ACCEPT_EULA: "Y" volumes: - sqlsystem:/var/opt/mssql - sqluser:/var/opt/sqluser
volumes: sqlsystem: sqluser:
在Docker Compose文件中,我们定义了两个服务:web和db,分别代表我们的应用程序和SQL Server容器。我们将端口8000映射到应用程序的端口80,将端口1433映射到SQL Server的端口1433,并设置必要的环境变量和卷。
注意,我们为SQL Server容器定义了两个卷:sqlsystem和sqluser。这是为了在容器停止或重启时保留数据。如果您不定义这些卷,您的数据将在容器删除时丢失。
确保您的Docker Compose文件按照上面的示例正确设置,您的应用程序和SQL Server容器将顺利运行。