게시 된 각 포트마다 docker-proxy 프로세스가 실행되고 있음을 알았습니다. 이 과정의 목적은 무엇입니까? 여기에 사용자 공간 TCP 프록시가 필요한 이유는 무엇입니까?
$ 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
docker가 만든 일부 관련 iptable 규칙 :
$ 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
이 질문을 끝내는 것에 동의하지 않습니다. serverfault.com/questions/615372 의 파생물 인 유효한 아키텍처 문제입니다 . 우리가 서비스의 문서화 되지 않은 (적어도 웹 사이트에서) 부분으로 보이는 것을 투표 하지 않는다면, 내부를 이해하지 못하는 새롭고 반짝이는 서비스를 맹목적으로 설치 해야하는 경우 질문을 제기합니다 ~의 작업?
—
Avery Payne