배경
도커 관련 의존성과 설정 파일들을 삭제한 후에도 도커 네트워크 인터페이스가 남아있는 경우가 있었습니다. 도커가 아직 설치되어있는 상태라면 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 {} 명령어에 전달하여 네트워크 인터페이스를 삭제합니다.
'개발지식 > 인프라' 카테고리의 다른 글
| [Linux] cgroups를 사용해 도커 사용 자원 제한하기 (0) | 2024.12.10 |
|---|---|
| [Network] Docker Compose와 Nginx를 이용한 수평 스케일(scale-out)과 로드 밸런싱(Load Balancing) (2) | 2024.12.10 |
| [Linux] 도커(Docker) 동작 중 firewalld를 켜면 서비스가 동작하지 않는 현상(RHEL 8.8) (0) | 2024.11.22 |
| [Linux] tcpdump로 로컬 서버에서 외부로 나가는 모든 요청(request) 확인하기 (0) | 2024.09.24 |
| [Docker] 자주 사용하는 도커 명령어 모음 (0) | 2024.06.13 |