Docker 用户登录失败';sa';

Docker 用户登录失败';sa';,docker,Docker,我是docker的新手,我在MAC上工作。 我正在使用docker compose将我的dotnet api容器化, 但是,当我尝试在“docker compose up”之后进行迁移时,出现了错误“用户'sa'登录失败” 但是,当使用此sql server映像在本地运行应用程序时,我可以连接。 这两个容器正在运行,这是我的docker compose文件: version: '3' services: web: build: . container_name: web ports: -

我是docker的新手,我在MAC上工作。 我正在使用docker compose将我的dotnet api容器化, 但是,当我尝试在“docker compose up”之后进行迁移时,出现了错误“用户'sa'登录失败” 但是,当使用此sql server映像在本地运行应用程序时,我可以连接。 这两个容器正在运行,这是我的docker compose文件:

version: '3'
services:
web:
build: .
 container_name: web
 ports:
  - "8000:80"
 depends_on:
  - db
 networks:
  - connection
db:
image: "mcr.microsoft.com/mssql/server:latest"
container_name: db
environment:
  MSSQL_SA_PASSWORD: "P@$$w0rd!"
  ACCEPT_EULA: "Y"
  UserID: "sa"
ports:
- "1433:1433"
networks:
  - connection
网络: 连接:驱动器:桥接器

这是我的连接字符串:

"ConnectionStrings": {
"DefaultConnection": "Server=localhost,1433;Initial Catalog=database;User ID=sa;Password=P@$$w0rd!"},

在docker-compose.yml中,
$$
是一个转义的
$
,因为
$something
扩展了变量。因此:

P@$$w0rd!
变成

P@$w0rd!
应用程序将尝试使用错误的密码连接。您可以使用以下方法转义两个
$

MSSQL_SA_PASSWORD: "P@$$$$w0rd!"

非常感谢你