내 프로덕션 환경에는 동일한 호스트의 데이터베이스와 같은 지원 서비스에 연결해야 하는 Docker의 일부 앱이 있습니다. 이러한 연결을 허용하려면 iptables에서 예외를 만들어야 한다는 것을 알았습니다.
그러나 Docker 네트워크의 IP 범위는 다시 시작할 때마다 다릅니다. 처음에는 172.18.0.0/24, 나중에는 172.17.0.0/24 및 172.20.0.0/24였으며 이제 IP는 192.168.172.2 및 192.168.192.3입니다.
mariadb를 안정적이고 안전하게 말하기 위해 컨테이너 내에서 Docker 트래픽을 어떻게 허용할 수 있습니까?
편집 : 대답은 다음과 같습니다IPAM 구성 지정, 하지만 인터페이스에 연결하는 것이 더 우아해 보입니다.
답변1
두 가지 옵션:
첫 번째
docker0
특정 IP 범위가 아닌 인터페이스 에서 액세스를 허용합니다 .
iptable -A INPUT -i docker0 -dport 3306
두번째
데이터베이스를 컨테이너로 이동합니다.
network라는 도커를 만듭니다.
모든 컨테이너가 명명된 네트워크에 연결되어 있는지 확인하세요. 그런 다음 동일한 네트워크에 있는 다른 컨테이너에서 이름으로 데이터베이스 컨테이너에 액세스할 수 있어야 합니다.
외부에서 데이터베이스에 액세스해야 하는 경우 포트를 매핑하고 보안을 유지하려는 iptables 규칙을 설정할 수 있습니다.