Docker容器中的Weblogic端口绑定

时间:2018-07-24 17:08:47

标签: docker weblogic docker-swarm

我在Docker容器[覆盖网络-Docker群]中手动安装了weblogic和配置的域。

[root@host ~]# docker network ls
NETWORK ID          NAME                DRIVER              SCOPE
e3f32e71cc16        bridge              bridge              local
26628a46774c        docker_gwbridge     bridge              local
20c80427519f        host                host                local
9ejgeett1y4y        ingress             overlay             swarm
52d14f492cda        none                null                local
f628wowngc6z        myoverlay           overlay             swarm

启动管理服务器后,我看到管理服务器端口7001仅绑定到覆盖接口,而没有绑定到ANY接口0.0.0.0。因此,即使我在创建容器时公开了7001端口,也无法从外部公共网络访问它。

[root@host /]# netstat -anp | grep 7001
tcp        0      0 10.0.0.5:7001           0.0.0.0:*               LISTEN      8168/java

[root@host /]# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
265: eth0@if266: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UP group default
    link/ether 02:42:0a:00:00:05 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 10.0.0.5/24 scope global eth0
       valid_lft forever preferred_lft forever
267: eth1@if268: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
    link/ether 02:42:ac:13:00:06 brd ff:ff:ff:ff:ff:ff link-netnsid 1
    inet 172.19.0.6/16 scope global eth1
       valid_lft forever preferred_lft forever

我也在同一容器中启动了sshd,但这已绑定到0.0.0.0 ANY接口。

[root@host /]# netstat -anp | grep 22
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1/sshd

我需要weblogic管理服务器控制台可以访问公共网络,而不仅仅是覆盖网络容器中。那么,如何将weblogic管理服务器端口绑定到所有接口(0.0.0.0)?

1 个答案:

答案 0 :(得分:0)

问题在于Weblogic配置。如果侦听地址设置为空,则weblogic本身会将端口绑定到所有接口。这解决了我的问题。