AWS 강의 이론

docker volume 실습

docker network

  1. Bridg(기본값)

    1. Host OS랑 네트워크는 격리되어 있으나, 브릿지를 통해 외부랑 통신
    2. docker와 네트워크 인터페이스를 이어주는 것을 브릿지라 한다.
    3. docker 컨테이너가 docker proxy를 통해 docker0로 가서 docker0가 네트워크 인터페이스를 통해 인터넷 통신

    image.png

  2. Host

    1. Host OS가 속한 네트워크를 같이 사용하는것
    2. 브릿지와 다르게 docker 컨테이너가 docker0 없이 바로 네트워크 인터페이스로 가서 인터넷 통신이 된다.

    image.png

  3. None

    1. 네트워크에 연결 안함. 즉, NAT,IGW가 연결되지 않은 private subnet
    2. 데이터베이스에서 주로 사용
  4. Overlay

    1. 여러 호스트끼리 같은 네트워크로 공유,클러스터링 환경에서 주로 사용
    2. 클러스터링이란 여러 pc를 두고 같은 서비스를 작동시키고 다 묶는 것, 장점은 여러 자원을 한번에 쓰고 가용성이 좋음, 서버끼리 통신하기 위한 overlay망을 통해 통신
    3. 위에 overlay 그림 아래 클러스터링 그림

    image.png

  5. 3rd-party plugins

    1. 누군가가 만든 애플리케이션을 통한 네트워킹

docker networking 생성 방법

  1. network라는 커스텀 객체를 생성해서 연결
  2. 미리 만들어져있는 기본 네트워크에 연결

실습

  1. bridge
    1. docker network create -d bridge world-bridge
    2. docker run -d -p 8081:80 --network world-bridge httpd:2.4.62
    3. docker inspect [docker id]로 확인하면 network쪽에서 world-bridge쪽에 연결된것을 확인 가능
    4. 찾기 어려우면 docker inspect [id] --format '{{ json .NetworkSettings.Networks(or 원하는거) }} ' | jq로 원하는 내용 쉽게 볼 수 있음
    5. 같은 브릿지 안에 있으면 이름으로만 통신 가능
  2. host
    1. docker run -d --network host nginx:latest
    2. inspect로 확인 시 ip가 없음