마이의 개발 블로그

[Docker] 도커(Docker) 삭제 후 도커 네트워크 인터페이스를 삭제해야하는 경우 명령어(RHEL 8.8) 본문

개발지식/인프라

[Docker] 도커(Docker) 삭제 후 도커 네트워크 인터페이스를 삭제해야하는 경우 명령어(RHEL 8.8)

개발자마이 2024. 11. 22. 10:59
반응형

배경

도커 관련 의존성과 설정 파일들을 삭제한 후에도 도커 네트워크 인터페이스가 남아있는 경우가 있었습니다. 도커가 아직 설치되어있는 상태라면 docker network ls, docker network rm <인터페이스ID> 명령어를 통해 네트워크 인터페이스도 함께 삭제할 수 있지만, 도커를 사용할 수 없는 경우 도커 네트워크 삭제를 위해 사용 가능한 간단한 명령어를 소개합니다.

방법

- iproute 설치: yum install iproute

- 명령어 입력:

ip -o link show | awk '/02:42/ && /docker0|br-/ {print $2}' | sed 's/://g' | xargs -I {} ip link delete {}

명령어 설명

1) ip -o link show
- 현재 시스템의 네트워크 인터페이스 목록을 한 줄씩 출력합니다

- -o 옵션은 요약된 출력을 제공하여 파싱하기 쉽게 만듭니다

 

2) awk '/02:42/ && /docker0|br-/ {print $2}'
- 도커 네트워크 인터페이스의 MAC 주소는 보통 02:42로 시작하기때문에 이를 필터링합니다(해당하지 않는 경우 제외).
- docker0와 br-(브리지 네트워크 이름)을 포함하는 인터페이스만 보여줍니다.
- 필터 결과에서 두 번째 필드(인터페이스명)만 출력합니다.

 

3) sed 's/://g'
- 인터페이스 이름 뒤에 붙은 콜론(:)을 제거합니다(docker0: -> docker0).

 

4) xargs -I {} ip link delete {}
- xargs를 사용하여 각 인터페이스 이름을 ip link delete {} 명령어에 전달하여 네트워크 인터페이스를 삭제합니다.

반응형
Comments