Tôi đã nhận thấy rằng có quá trình proxy docker chạy cho mỗi cổng được xuất bản. Mục đích của quá trình này là gì? Tại sao một proxy tcp không gian người dùng cần thiết cho việc này?
$ ps -Af | grep proxy
root 4776 1987 0 01:25 ? 00:00:00 docker-proxy -proto tcp -host-ip 127.0.0.1 -host-port 22222 -container-ip 172.17.0.2 -container-port 22
root 4829 1987 0 01:25 ? 00:00:00 docker-proxy -proto tcp -host-ip 127.0.0.1 -host-port 5555 -container-ip 172.17.0.3 -container-port 5555
và một số quy tắc iptable liên quan được tạo bởi docker:
$ sudo iptables -t nat -L -n -v
Chain PREROUTING (policy ACCEPT 1 packets, 263 bytes)
pkts bytes target prot opt in out source destination
0 0 DOCKER all -- * * 0.0.0.0/0 0.0.0.0/0 ADDRTYPE match dst-type LOCAL
Chain INPUT (policy ACCEPT 1 packets, 263 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 1748 packets, 139K bytes)
pkts bytes target prot opt in out source destination
32 7200 DOCKER all -- * * 0.0.0.0/0 !127.0.0.0/8 ADDRTYPE match dst-type LOCAL
Chain POSTROUTING (policy ACCEPT 1719 packets, 132K bytes)
pkts bytes target prot opt in out source destination
32 7200 MASQUERADE all -- * !docker0 172.17.0.0/16 0.0.0.0/0
Chain DOCKER (2 references)
pkts bytes target prot opt in out source destination
0 0 DNAT tcp -- !docker0 * 0.0.0.0/0 127.0.0.1 tcp dpt:22222 to:172.17.0.2:22
0 0 DNAT tcp -- !docker0 * 0.0.0.0/0 127.0.0.1 tcp dpt:5555 to:172.17.0.3:5555
13
Không đồng ý về việc đóng câu hỏi này. Đây là một vấn đề kiến trúc hợp lệ là một nhánh của serverfault.com/questions/615372 ; nếu chúng ta bỏ phiếu xuống, những gì dường như là một phần chưa được ghi lại (ít nhất là trên trang web) của dịch vụ, thì điều đó đặt ra câu hỏi, chúng ta có nên đi xung quanh cài đặt một cách mù quáng các dịch vụ mới và sáng bóng mà chúng ta không hiểu nội bộ hoạt động của?
—
Avery Payne
Cũng trên stackoverflow.com/a/37809857/1318694
—
Matt