Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从Windows 10在docker Linux上连接docker compose Sql server容器?_Docker_Docker Compose_Nopcommerce - Fatal编程技术网

如何从Windows 10在docker Linux上连接docker compose Sql server容器?

如何从Windows 10在docker Linux上连接docker compose Sql server容器?,docker,docker-compose,nopcommerce,Docker,Docker Compose,Nopcommerce,我正在Windows 10的linux容器中使用docker compose运行我的web应用程序和sql server linux实例。Docker Compose文件如下所示 version: "3.4" services: nopcommerce_web: build: . container_name: nopcommerce tty: true ports: - &quo

我正在Windows 10的linux容器中使用docker compose运行我的web应用程序和sql server linux实例。Docker Compose文件如下所示

version: "3.4"
services:
    nopcommerce_web:
        build: .
        container_name: nopcommerce
        tty: true
        ports:
            - "80:80"       
        depends_on:
            - nopcommerce_database
    nopcommerce_database:
        image: mcr.microsoft.com/mssql/server:2019-CU5-ubuntu-18.04
        container_name: nopcommerceDB
        ports:
            - "1433:1433"
        environment:
            SA_PASSWORD: "testpassword"
            ACCEPT_EULA: "Y"             

volumes:
  nopcommerce_data:
我可以直接访问我的网站http://localhost/. 但是我无法使用SQLServerManagementStudio访问SQLServer数据库

如果我不使用docker compose,而只使用docker文件来创建容器。我只需使用
127.0.0.11433

我什么都试过了。尝试使用我的机器的ip地址和端口号等,但它不工作。建议使用
docker machine ip
命令获取容器的ip地址,但windows不推荐使用docker工具

有人能在这里照明吗?为什么我无法连接到sql server,但可以连接到web应用


我认为您可能需要在docker-compose.yml中添加以下内容:

expose:
 - 1433

否则,容器内部和外部之间没有链接。

由于您使用的是默认端口,请尝试使用
localhost
而不是使用IP和端口