Dockerが接続の受け入れを停止しました

Dockerが接続の受け入れを停止しました

説明に従って、Windows 10のHyper-V内のUbuntu 18.04上のDockerコンテナにOracle Databaseをセットアップしました。ここ

しかし、次のコマンドでコンテナを実行すると:

sudo docker run -d -it --rm --name oracle12se -v /home/oracle/oradata12:/opt/oracle/oradata -p 1522:1521 -p 5502:5500 -m 4G oracle/database-se:12.2.0.1

別の Hyper-V マシンから Oracle データベースに接続できません。接続を確認すると、次のようになりますtelnet(172.17.66.84 は Docker が実行されているホスト マシンの IP アドレスです)。

telnet 172.17.66.84 1522

接続できません。ただし、ポート22 (SSH) を確認すると、次のようになります。

telnet 172.17.66.84 22

正常に接続された場合、ホスト マシンにアクセスでき、その IP アドレスが正しいことを意味します。

Oracleインスタンスが起動しているかどうかを確認するには、次のコマンドを実行します。

telnet 172.17.66.84 1522

または

telnet localhost 1522

ホストマシン(Docker が実行されるマシン)上で実行し、正常に接続します。

つまり、IP アドレスは正しくアクセス可能であり、Oracle インスタンスは実行され、ポート 1522 でリッスンしていますが、ローカル ネットワークからは接続できません。

さらに興味深いのは、以前はすべて正常に動作していたのに、何が変更されたのかがまったくわからないことです。

接続を妨げるものは何ですか?

編集1:

ホスト マシンのポート 8080 をリッスンするテスト スクリプトを実行すると、別のマシンから telnet を使用して接続できるようになります。

telnet 172.17.66.84 8080

つまり、これは Hyper-V やファイアウォールではなく、Docker に関連するもののようです。

ホストマシン上:

sudo iptables -L -n

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
DOCKER-USER  all  --  0.0.0.0/0            0.0.0.0/0
DOCKER-ISOLATION-STAGE-1  all  --  0.0.0.0/0            0.0.0.0/0
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
DOCKER     all  --  0.0.0.0/0            0.0.0.0/0
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain DOCKER (1 references)
target     prot opt source               destination
ACCEPT     tcp  --  0.0.0.0/0            172.17.0.2           tcp dpt:5500
ACCEPT     tcp  --  0.0.0.0/0            172.17.0.2           tcp dpt:1521

Chain DOCKER-ISOLATION-STAGE-1 (1 references)
target     prot opt source               destination
DOCKER-ISOLATION-STAGE-2  all  --  0.0.0.0/0            0.0.0.0/0
RETURN     all  --  0.0.0.0/0            0.0.0.0/0

Chain DOCKER-ISOLATION-STAGE-2 (1 references)
target     prot opt source               destination
DROP       all  --  0.0.0.0/0            0.0.0.0/0
RETURN     all  --  0.0.0.0/0            0.0.0.0/0

Chain DOCKER-USER (1 references)
target     prot opt source               destination
RETURN     all  --  0.0.0.0/0            0.0.0.0/0

ifconfig

docker0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255
        inet6 fe80::42:98ff:feb3:fbe8  prefixlen 64  scopeid 0x20<link>
        ether 02:42:98:b3:fb:e8  txqueuelen 0  (Ethernet)
        RX packets 88  bytes 2768 (2.7 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 123  bytes 10688 (10.6 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.17.66.84  netmask 255.255.255.240  broadcast 172.17.66.95
        inet6 fe80::980a:fe52:5a8d:1bb7  prefixlen 64  scopeid 0x20<link>
        ether 00:15:5d:08:73:28  txqueuelen 1000  (Ethernet)
        RX packets 451608  bytes 655072327 (655.0 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 101353  bytes 8256682 (8.2 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 2853  bytes 157368 (157.3 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 2853  bytes 157368 (157.3 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

vethbab7679: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::942e:fff:feee:b333  prefixlen 64  scopeid 0x20<link>
        ether 96:2e:0f:ee:b3:33  txqueuelen 0  (Ethernet)
        RX packets 88  bytes 4000 (4.0 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 166  bytes 15352 (15.3 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

編集2:

sudo iptables -t nat -L -n

Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
DOCKER     all  --  0.0.0.0/0            0.0.0.0/0            ADDRTYPE match dst-type LOCAL

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
DOCKER     all  --  0.0.0.0/0           !127.0.0.0/8          ADDRTYPE match dst-type LOCAL

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
MASQUERADE  all  --  172.17.0.0/16        0.0.0.0/0
MASQUERADE  tcp  --  172.17.0.2           172.17.0.2           tcp dpt:5500
MASQUERADE  tcp  --  172.17.0.2           172.17.0.2           tcp dpt:1521

Chain DOCKER (2 references)
target     prot opt source               destination
RETURN     all  --  0.0.0.0/0            0.0.0.0/0
DNAT       tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:5502 to:172.17.0.2:5500
DNAT       tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:1522 to:172.17.0.2:1521

sudo docker info

Containers: 1
 Running: 1
 Paused: 0
 Stopped: 0
Images: 57
Server Version: 18.09.5
Storage Driver: overlay2
 Backing Filesystem: extfs
 Supports d_type: true
 Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host macvlan null overlay
 Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: bb71b10fd8f58240ca47fbb579b9d1028eea7c84
runc version: 2b18fe1d885ee5083ef9f0838fee39b62d653e30
init version: fec3683
Security Options:
 apparmor
 seccomp
  Profile: default
Kernel Version: 4.15.0-48-generic
Operating System: Ubuntu 18.04.2 LTS
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 9.758GiB
Name: tor
ID: TN5P:KKCD:TGRU:HQHV:6SH7:6WTJ:U445:6WYC:D7LS:D6AW:BFVC:2B2U
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
 127.0.0.0/8
Live Restore Enabled: false
Product License: Community Engine

WARNING: No swap limit support

関連情報