docker - 无法在 Windows Server 2019 中以 swarm 入口模式从 docker 容器访问主机及其私有 IP
问题描述
我有一个带有以下(Azure VM)主机的 docker swarm,
- 领导者,10.0.1.4
- 工人 1, 10.0.1.5
- worker-2, 10.0.1.6
我已经在 worker-1 (10.0.1.5) 上安装了“Mssql Xxpress 2017 Server”,可以通过端口 1433 访问数据库。
当我部署 docker swarm 服务时,
- 无论部署在数据库服务器在 1433 上侦听的 worker-1 (10.0.1.5) 中的容器,都无法访问数据库(给出连接超时错误)。
- 其他容器可以毫无问题地访问数据库。
只是容器无法访问其主机。基础镜像是 servercore:ltsc2019。
我在worker-1(即10.0.1.5)上运行的容器上尝试了'docker exec -it powershell'并尝试了'Test-NetConnection 10.0.1.5 -Port 1433'得到了TcpSucceed:False
但是,当我在其他容器(未在 worker-1 上运行)上尝试相同操作时,得到 TcpSucceed: True。
PS C:\enactor\enactor-suite> 码头信息
Containers: 0
Running: 0
Paused: 0
Stopped: 0
Images: 4
Server Version: 18.09.8
Storage Driver: windowsfilter
Windows:
Logging Driver: json-file
Plugins:
Volume: local
Network: ics l2bridge l2tunnel nat null overlay transparent
Log: awslogs etwlogs fluentd gelf json-file local logentries splunk syslog
Swarm: inactive
Default Isolation: process
Kernel Version: 10.0 17763 (17763.1.amd64fre.rs5_release.180914-1434)
Operating System: Windows Server 2019 Datacenter Version 1809 (OS Build 17763.615)
OSType: windows
Architecture: x86_64
CPUs: 2
Total Memory: 8GiB
Name: Enactor
ID: 3T3Y:S6CD:63QF:PQFE:C6Q3:JL3M:3GEJ:AG4I:ID2Q:OVDY:L5C6:A5QO
Docker Root Dir: C:\ProgramData\docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Labels:
private_ip=10.0.1.5
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
解决方案
推荐阅读
- testing - 错误错误:找不到模块'testcafe-hammerhead'
- java - 如何使用对象作为类的变量作为 ArrayList?
- xl-deploy - xl-deploy:获取 HTTP 错误代码:500 错误
- r - 将多个数据框导出到多个 Excel 文件
- tensorflow - Tensorflow / Keras,嵌入和稀疏分类交叉熵的问题
- ruby-on-rails - 无法运行任何 rake 任务...说“Rake 已中止!不知道如何构建任务'
- java - 为什么 HashSet 不能只在内部使用位数组而不是 HashMap 来节省一些空间?
- css - 如何更改 Shopify 'Brooklyn' 主题中支付图标的大小?
- javascript - 加载时自动检查三个单选按钮
- javascript - Puppeteer - 测试不执行任何操作