Container & K8S/Docker

[Docker] 도커 네트워크와 명령어

dhyuck 2021. 9. 30. 00:18
반응형

도커 네트워크 드라이버 종류

  • bridge : 드라이버를 지정하지 않고 create하면 생기는 기본 네트워크 드라이버입니다.

  • host : 호스트의 네트워크를 직접 사용하는 드라이버입니다.

  • overlay : 여러 호스트에 분산되어 있는 컨테이너간 네트워크 구축해야 할 때 사용합니다.

  • macvlan : 컨테이너에 MAC 주소를 할당하여 네트워크에서 물리적 장치처럼 보이게합니다.

    이는 VM을 마이그레이션하거나 컨테이너가 고유의 MAC 주소를 가진 물리적 호스트처럼 보이도록 만들어야할 때 사용 할 수 있습니다. 또한, 서로 다른 macvlan 인터페이스를 묶어서 VLAN을 구성 할 수있습니다.

  • none : 모든 네트워크를 비활성화한 상태입니다. 일반적으로 사용자 지정 네트워크 드라이버와 함께 사용합니다.


도커 네트워크 명령어

  • 도커 네트워크 조회 (docker network ls)

      docker network ls [OPTIONS]
      # List networks
      # -f, --filter filter  ex) 'driver=bridge'
    
      # ex) driver가 bridge인 네트워크 조회 
      docker network ls -f driver=bridge 
  • 도커 네트워크 생성 (docker network create)

      docker network create [OPTIONS] NETWORK
      # Create a network
      # -d, --driver string : 드라이버를 지정합니다. 기본 드라이버는 브릿지
    
      # ex) my-net 브릿지 네트워크 생성
      docker network create my-net
  • 도커 네트워크 연결 (docker network connect)

    구동 중인 컨테이너에 connect 하게 된다면 컨테이너 생성시 연결된 기존 네트워크는 유지되고 새로운 네트워크가 추가되는 것으로, 이는 통신 가능한 네트워크 대역이 추가되는 것입니다.

    만약 컨테이너 생성시 기본 네트워크를 설정하고자 한다면, run 할 때 —-network 옵션을 주면 됩니다.

      docker network connect [OPTIONS] NETWORK CONTAINER
      # Connect a container to a network
      # --ip : ip4주소 지정
    
      # ex) 실행중인 container1을 my-net 네트워크에 연결
      docker network connect my-net container1
      # ex) 컨테이너를 run 할 때 네트워크 지정
      docker run --network=<network-name>
  • 도커 네트워크 연결 해제 (docker network disconnect)

      docker network disconnect [OPTIONS] NETWORK CONTAINER
      # Disconnect a container from a network
      # -f, --force : Force the container to disconnect from a network
    
      # ex) my-net 네트워크에서 container1 네트워크를 분리
      docker network disconnect my-net container1
  • 도커 네트워크 정보 확인 (docker network inspect)

      docker network inspect [OPTIONS] NETWORK [NETWORK...]
      # Display detailed information on one or more networks
      # -f, --format string : Go 템플릿을 사용하여 
    
      # ex) my-net 네트워크 정보 출력
      docker network inspect my-net
  • 도커 네트워크 삭제(docker network rm)

      docker network rm NETWORK [NETWORK...]
      # Remove one or more networks
    
      # ex) my-net 네트워크 삭제
      docker network rm my-net
반응형