외부에서 Docker에 접근할 수 없으면 어떻게 해야 합니까?

王林
풀어 주다: 2020-03-24 14:40:59
원래의
2467명이 탐색했습니다.

외부에서 Docker에 접근할 수 없으면 어떻게 해야 합니까?

문제 설명:

Docker를 시작하고 포트 매핑을 수행한 후 docker는 iptables에 DNAT 규칙을 추가하고 해당 포트의 수신 패킷을 IP로 변환하여 전달하며 docker 도메인의 모든 패킷에 규칙을 추가합니다. .ip를 변환합니다.

그러나 Centos7에서는 docker가 외부 네트워크에 정상적으로 접근할 수 있으나 eth1에서 수신하여 전달한 후 외부 네트워크의 요청을 docker0으로 전달할 수 없거나, 보낼 때 (oui Unknown) 상황이 발생합니다.

해결 방법은 다음과 같습니다.

docker를 시작한 후 iptables를 다시 시작하세요

service iptables restart
로그인 후 복사

docker에서 추가한 모든 규칙을 지운 다음 규칙을 추가하세요

iptables -t nat -A POSTROUTING -s 172.17.0.0/16 ! -o docker0 -j MASQUERADE
로그인 후 복사

docker의 모든 패키지 172.17.0.0/16의 IP를 로컬로 교체하세요 도커가 외부 네트워크에 액세스하는 목적을 달성하기 위해 ip 및 send 를 사용합니다.

관련 튜토리얼 권장 사항: docker 튜토리얼

위 내용은 외부에서 Docker에 접근할 수 없으면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿