0

第一次发帖,但对这个社区印象深刻。本周我花了很多时间试图解决这个问题——网上似乎没有太多信息,我被困住了。提前感谢您的任何见解!

我正在将现有的 WLS 应用程序移动到 Docker 中。目标是拥有一个可重复的开发环境,其中包含 WLS 在容器内和在 Vagrant 内运行的那些容器(自定义 RHEL 6.5 VirtualBox)。

我配置并启动了 WLS 容器。我还可以从 VM 上的容器访问 WLS 服务。但是,当我尝试从主机访问容器时,我收到连接超时错误。

我在 Vagrant 上运行一个私有网络 10.10.10.41,端口转发 7771:7001 - 如果我访问该 IP:Port(就像我在 Vagrant 中运行服务时通常那样),我会收到拒绝连接。

我能够从虚拟机“本机”运行 WLS 并成功从主机访问。我还能够从 VM 中运行 Apache 容器并成功地从主机访问它们。因此,该问题似乎特定于在 VM 中的容器内运行的 WLS。

我关闭了 VM 上的防火墙,我读到这是 Vagrant + Docker 的常见问题。

我有很多信息要分享,但我不会从消防水管中喝水,而是从几件开始。很高兴根据需要附上任何进一步的信息。再次感谢!

流浪文件

config.vm.network "private_network", ip: "10.10.10.41"

config.vm.network :forwarded_port, host: 7771, guest: 7001

Dockerfile 暴露 7001

Docker运行

docker run -d -p 7001:7001 -v /my/release:/domain/release --name "wladmin" --link wlmanaged:wlmanaged my/wladmin

容器 IP

docker inspect -f '{{ .NetworkSettings.IPAddress }}' wladmin
172.17.0.13

nmap 虚拟机(本地主机)

Nmap scan report for localhost (127.0.0.1)
Host is up (0.000044s latency).
Other addresses for localhost (not scanned): 127.0.0.1
Not shown: 997 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
25/tcp  open  smtp
111/tcp open  rpcbind

nmap VM(Vagrant 私网 IP)

Nmap scan report for 10.10.10.41
Host is up (0.000053s latency).
Not shown: 998 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
111/tcp open  rpcbind

nmap WLS Docker 容器

Nmap scan report for my.domain.com (172.17.0.11)
Host is up (0.000055s latency).
Not shown: 998 closed ports
PORT     STATE SERVICE
7001/tcp open  afs3-callback
7002/tcp open  afs3-prserver
4

1 回答 1

2

我找到了根本原因并想分享回来。

事实证明,因为 Vagrant 有一个私有网络适配器,我们必须使用该适配器将容器绑定到该适配器。

docker run -d -p 10.10.10.41:7001:7001 -v /my/release:/domain/release --name "wladmin" --link wlmanaged:wlmanaged my/wladmin
于 2015-01-09T22:13:15.273 回答