Docker 네트워크

중급 Docker

Mike Metzger

Data Engineering Consultant

Docker 네트워킹

  • Docker는 광범위한 네트워킹 기능을 제공합니다
  • 컨테이너, 호스트, 외부 시스템 간 통신용 네트워크를 만들 수 있습니다
  • 네트워크 조작 명령을 살펴보겠습니다
중급 Docker

Docker 네트워킹 유형

  • Docker는 드라이버로 다양한 네트워킹 유형을 지원합니다
    • bridge: 기본 드라이버, 외부로 연결 가능, 포트 노출 시 인바운드 허용
    • host: 호스트와 컨테이너 간 완전한 통신
    • none: 네트워크 통신에서 컨테이너 격리
    • 기타 다수, 커스텀 드라이버 포함
  • 주로 bridge 드라이버로 자체 네트워크를 만들겠습니다
중급 Docker

Docker 네트워크 작업

여러 명령:

  • docker network
    • docker network <command>
    • docker network <command> --help
    • 호스트의 네트워크 목록: docker network ls
    • 네트워크 생성: docker network create
    • 네트워크 삭제: docker network rm
중급 Docker

Docker 네트워크 예시

  • mynetwork라는 Docker 네트워크 생성
    repl@host:~$ docker network create mynetwork
    
5ff0febab98f73b74dd753eb44a30f7d7291052b3b1d58b0134589221cb8e33d
repl@host:~$ docker network ls

NETWORK ID NAME DRIVER SCOPE 2edc5ae4838c bridge bridge local a92988382711 host host local 5ff0febab98f mynetwork bridge local 5464ed866dad none null local
중급 Docker

컨테이너를 네트워크에 연결하기

  • 컨테이너를 네트워크에 연결하려면?
  • docker run --network <networkname> ...
  • docker run --network mynetwork ubuntu bash
  • 나중에 연결할 수도 있습니다
    • docker network connect <networkname> <container>
    • docker network connect mynetwork ubuntu-B
중급 Docker

docker network inspect

  • 네트워크 상세 확인 방법?
  • docker network inspect <networkname>
  • 구성 정보와 컨테이너에 할당된 IP를 제공합니다
    repl@host:~$ docker network inspect mynetwork
    
중급 Docker

docker network inspect 예시

        "Name": "mynetwork",
        ...
        "Driver": "bridge",
        ...
        Containers": {    "2be08aa942029191350d4bceb8816254af8713dd6f7dcbadcab8f068f7dbfdfa": {
                "Name": "unruffled_kare",
                "EndpointID": "29739356ae200e1e901d2eabef05efaca0fb37e1a4e1a4c3bf369f2892ca6c4b",
                "MacAddress": "02:42:ac:12:00:02",
                "IPv4Address": "172.18.0.2/16",
                "IPv6Address": ""
            }
중급 Docker

연습해 봅시다!

중급 Docker

Preparing Video For Download...