iptables failed 에러

2023. 6. 12. 18:00Infra/Docker

docker-compose를 사용해서 여러 서비스를 실행시키고 있습니다.

사용하던 테스트 서버에 방화벽이 너무 걸리적 거려 아래의 명령어로 방화벽을 내린 후 문제가 생겼습니다.

현재 사용하는 서버는 RHEL 8.5를 사용 중입니다.

$ sudo systemctl stop firewalld

위 명령어를 사용한 후 docker-compose.yml을 실행 시켰습니다.

$ docker compose up -d
$ Error response from daemon: driver failed programming external connectivity on endpoint test.service (db8dd14d75f34fbd804e483c70e82b88315318cdaab5be7b809bb9ba8ebe663f):  (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 49193 -j DNAT --to-destination 172.25.0.16:4432 ! -i br-005ff2f9b504: iptables: No chain/target/match by that name.
 (exit status 1))

위 stackoverflow의 글을 봐도 docker 자체를 다시 실행 시키면 된다는 말이 있습니다.

Docker 서비스 재시작

$ sudo systemctl restart docker

$ docker-compose up -d
[+] Running 11/11

저는 서비스만 재시작하니깐 정상적으로 동작했습니다.

서비스를 재시작해도 동작하지 않는 분은 iptable chain을 초기화 시켜야 합니다.

iptable chain 초기화

$ sudo iptables -t filter -F
$ sudo iptables -t filter -X
$ sudo systemctl restart docker