Docker 컨테이너가 호스트의 네트워크 포트에 자유롭게 액세스 할 수 있도록 Centos 7 firewallD를 구성하는 방법은 무엇입니까?


32

CentOS 7에도 커가 설치되어 있고 firewallD를 실행하고 있습니다.

컨테이너 내부에서 호스트로 이동 (기본값 172.17.42.1)

방화벽을 켠 상태

container# nc -v  172.17.42.1  4243
nc: connect to 172.17.42.1 port 4243 (tcp) failed: No route to host

방화벽 종료

container# nc -v  172.17.42.1  4243
Connection to 172.17.42.1 4243 port [tcp/*] succeeded!

방화벽으로 된 문서를 읽었으며 완전히 이해하지 못합니다. Docker 컨테이너의 모든 것을 간단하게 호스트에 액세스 할 수있는 방법이 있습니까?

답변:


30

어쩌면 이전 답변보다 낫습니다.

firewall-cmd --permanent --zone=trusted --change-interface=docker0
firewall-cmd --permanent --zone=trusted --add-port=4243/tcp
firewall-cmd --reload

6
나는 add-port불필요 하다고 생각합니다 . docker0신뢰할 수 있음으로 표시되어 있으면 해당 포트가 통과됩니다.
Matt Hughes

6
@MattHughes 그것은없이 나를 위해 일했다 add-port. docker다시 시작 해야합니다 .
rdupz

1
커가

10

이 명령은 트릭을 수행했습니다.

firewall-cmd --permanent --zone=trusted --add-interface=docker0
firewall-cmd --permanent --zone=trusted --add-port=4243/tcp
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.