Docker compose 如何在docker compose下运行的容器中从主机-sql server连接到数据库

Docker compose 如何在docker compose下运行的容器中从主机-sql server连接到数据库,docker-compose,migration,containers,entity-framework-core,port,Docker Compose,Migration,Containers,Entity Framework Core,Port,我正在容器上运行Sql Server。我已经设置了docker compose,所有服务都可以连接到数据库,以便执行设计时实体框架核心迁移 我想从主机连接到数据库。这似乎不适用于以下代码(使用“端口”)。我明白了 docker编写yaml文件: version: '3.4' services: mssql: image: mcr.microsoft.com/mssql/server:2017-latest container_name: sql

我正在容器上运行Sql Server。我已经设置了docker compose,所有服务都可以连接到数据库,以便执行设计时实体框架核心迁移

我想从主机连接到数据库。这似乎不适用于以下代码(使用“端口”)。我明白了

docker编写yaml文件:

version: '3.4'
    services:
      mssql:
        image: mcr.microsoft.com/mssql/server:2017-latest
        container_name: sqlservice
        ports:
          - 1433:1433
etc...
非常感谢您的任何意见。

谢谢

ms文档的链接给出了答案:

答复: 使用本地计算机的IP地址 看

查找承载容器的计算机的IP地址。在Linux上,使用ifconfig或ip addr。在Windows上,使用ipconfig

运行sqlcmd,指定IP地址和映射到端口1433的端口 在你的容器里。在本例中,该端口与上的端口1433相同 主机。如果在主机上指定了其他映射端口 机器,你会用它来救她

(我使用的是0.0.0.0,还尝试了docker inspect提供的IP地址-这两个都失败了)

建议:1)阅读以下内容:,2)发布更多详细信息,澄清“不起作用”。加密连接也存在已知问题(例如,TLS 1.2的客户端支持):酷。请“接受”您的答案-并努力找到解决方案!
version: '3.4'
    services:
      mssql:
        image: mcr.microsoft.com/mssql/server:2017-latest
        container_name: sqlservice
        ports:
          - 1433:1433
etc...