Dockerコンテナとローカルホスト間のポート転送

Dockerコンテナとローカルホスト間のポート転送

このLinuxサーバーにポートが転送されたDockerコンテナ内でMSSQLサーバーに接続しようとしています。ただし、この転送されたポートは127.0.0.1でリッスンしています。

root@v2:~# netstat -alpn | grep 1433
tcp        0      0 127.0.0.1:1433          0.0.0.0:*               LISTEN      3285/sshd: root
tcp6       0      0 ::1:1433                :::*                    LISTEN      3285/sshd: root

IPアドレス次の結果が表示されます。

eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:50:56:01:07:78 brd ff:ff:ff:ff:ff:ff
    inet 10.1.3.10/24 brd 10.1.3.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::250:56ff:fe01:778/64 scope link
       valid_lft forever preferred_lft forever

 docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
link/ether 02:42:99:6a:d0:14 brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
   valid_lft forever preferred_lft forever
inet6 fe80::42:99ff:fe6a:d014/64 scope link
   valid_lft forever preferred_lft forever

私は次のガイドラインを試しました。ここそしてここしかし、まだコンテナ内でSQL Serverに接続できません。

Docker内で10.1.3.10へのpingが成功しました。 Dockerの内部からポート22から10.1.3.10へのTelnetが成功します。

iptables -A PREROUTING -t nat -i docker0 -p tcp --dport 1433 -j REDIRECT --to-port 1433
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 1433 -j DNAT --to 127.0.0.1:1433

ベストアンサー1

おすすめ記事