Docker 컨테이너에서 흐르는 그룹 캡처 방법

915 단어 Docker
Docker 용기에 어떤 포획물이 흐르고 있는지 확인하고 싶어서 필기를 조사했습니다.
처음에는 용기에 tcpdump를 넣고 docker exec에서 bash 로그인을 통해 확인합니다
상당히 번거롭다.또 볼륨을 끊지 않으면 tcpdump를 꺼내기도 힘들다.
다른 방법을 찾을 때, Docker의 네트워크는 항상 호스트 측의 컨테이너를 통해 가상 다리 'docker 0' 을 연결하는 것 같다.
그래서$ sudo tcpdump -i docker0
이렇게 하면 모든 용기의 데이터 패키지를 간단하게 얻을 수 있다.
docker0이 가상 브리지가 되었다는 사실을 다시 한 번 잘 고려해야 한다.orz
단순히 표준 출력으로만 검색하면 해석이 어렵기 때문에 Wireshark로 해석할 수도 있고 헤더 이외의 정보를 얻을 수도 있어 다음과 같은 형태가 된다.
$ sudo tcpdump -i docker0 -X -s 0 -w /tmp/mysql.cap 
Wireshark로 이것을 열면 다음과 같은 내용을 볼 수 있습니다.

참고 자료

  • Docker의 네트워크 관리와 netns의 관계
  • 좋은 웹페이지 즐겨찾기