Windows Docker端口转发奇怪的行为

我使用这些命令作为一个服务在Windows 2016上安装docker(所以我没有使用虚拟机,Docker本身安装在windows上):

Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force Install-Module -Name DockerMsftProvider -Force Install-Package -Name docker -ProviderName DockerMsftProvider -Force Restart-Computer -Force 

从本教程: https : //blog.docker.com/2016/09/build-your-first-docker-windows-server-container/

我已经build立了一个简单的CIstream程,我使用的容器之一是基于这个图像: https : //hub.docker.com/r/microsoft/mssql-server-windows-express/我执行的步骤之一是:

 mvn liquibase:update Ddb.url=jdbc:sqlserver://xyzq:1433;databaseName=xyz" -Ddb.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver -Ddb.username=username -Ddb.password=password -Ddb.changelog=changelog 

其中xyzq是从外部docker主机可见的正常IP,因此,这个命令工作时,我从我的笔记本电脑迁移qa environemnt执行它,但是当我在qa机器本地执行它报告连接被拒绝。 任何人都知道为什么会发生? 在docker主机端口转发莫名其妙不工作? 为什么外部请求在内部失败时起作用?

还有一件事 – 当我从qa机器命令使用docker容器ip时也是如此,但是我想用host ip代替容器ip。 那可能吗?