Weblogic + Docker + Vagrant = 连接问题

Weblogic + Docker + Vagrant = Connection Issue

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

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

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

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

我能够从 VM 运行 WLS "natively" 并从主机成功访问。我还能够从 VM 中 运行 Apache conatiners 并从主机成功访问它们。所以这个问题似乎特定于 WLS 运行在 VM 中的容器内。

我关闭了虚拟机上的防火墙,据我所知,这是 Vagrant + Docker 的一个常见问题。

我有一大堆信息要分享,但我不会从消防水龙带喝水,而是先从几篇文章开始。很高兴根据需要附上任何进一步的信息。再次感谢!

Vagrantfile

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

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

Docker文件 曝光 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

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

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

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