r잡초처럼
바른 프로그래밍
r잡초처럼
전체 방문자
오늘
어제
  • 분류 전체보기 (124)
    • FastAPI (7)
    • 끄적끄적 (2)
    • Python (17)
    • Django (31)
    • Database (2)
    • Docker (7)
    • 디자인패턴 (2)
    • CS 공부 (12)
      • 알고리즘 (2)
      • 자료 구조 (1)
      • 네트워크 (7)
      • IT 지식 (1)
      • 운영체제 (1)
    • 기타 팁들 (10)
    • Aws (2)
    • 독서 (1)
    • 코딩테스트 공부 (1)
      • 백준 (0)
      • 프로그래머스 (1)
    • DevOps (13)
    • TIL (3)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 5장 회사에서 하는 랜 구성
  • 물리 계층
  • 케이블의 종류
  • cp949
  • fastapi
  • 상속 안티 패턴
  • 네트워크
  • poetry
  • depends
  • pytest
  • Batch
  • 전기 신호
  • docker
  • 7장
  • 상속과 컴포지션
  • 모두의 네트워크
  • CS 지식
  • 완벽한 IT 인프라 구축을 위한 Docker
  • query param
  • 파이썬 클린 코드
  • dotenv
  • 랜 카드
  • 책 리뷰
  • 6장
  • pycharm
  • preonboarding
  • validate
  • encoding
  • 컴퓨터 기본 지식
  • 랜과 왠

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
r잡초처럼

바른 프로그래밍

기타 팁들

Docker network

2023. 2. 14. 00:53

docker를 실행하던 중 Host os 에서 firewalld 설정을 변환시켜 docker chain 이 꼬이는 일이 발생했다. 이로 인해 docker container의 network가 이상이 생겼다. 해결은 했는데, docker의 network가 어떻게 이루어지는 지 궁금해졌다. 

 

오늘 호스팅은 docker network에 관해 알아보고 다음에는 docker and iptables에 대해 알아보자

 

개요

Docker 컨테이너 및 서비스가 강력한 이유는 이들을 함께 연결할 수 있다는 것이다. Docker를 사용하여 플랫폼에 구애받지 않고 관리할 수 있다. 몇 가지 기본 Docker 네트워킹 개념을 익히고 이러한 기능을 최대한 활용할 수 있도록 기반 지식을 쌓아보자.

 

이 포스팅에서는 Docker 네트워크의 작동 방식에 대해 OS별로 자세히 설명하지는 않는다. 자세한 사항은 Docker and ㅑIptables를 포스팅할 때 적겠다 이번 포스팅은 docker network에 대한 명령어에 대한 용어들을 살펴보자.

Network drivers

기본적으로 여러 드라이브가 존재하며 아래와 같은 기능을 제공한다.

  • bridge: 기본 네트워크 드라이버이다. 드라이버를 지정하지 않으면 이 유형의 네트워크를 만들 수 있다. 브리지 네트워크는 일반적으로 응용프로그램이 통신해야 하는 독립형 컨테이너에서 실행될 때 사용된다.
  • host: 독립 실행형 컨테이너의 경우 컨테이너와 Docker 호스트 간의 네트워크 분리를 제거하고 호스트의 네트워킹을 직접사 용한다. 
  • overlay: overlay 네트워크는 여러 도커 데몬을 연결하고 스웜 서비스가 서로 통신할 수 있도록 한다. 오버레이 네트워크를 사용하여 스웜 서비스와 독립 실행혀 컨테이너 간 또는 서로 다른 Docker 데몬에 있는 두 독립 실행형 컨테이너 간의 통신을 용이하게 할 수 있다. 이 전략을 사용하면 컨테이너 간의 OS 수준 라우팅을 수행할 필요가 없다.
  • ipvlan: IPv4 및 IPv6 주소 지정에 대한 완벽한 제어 기능을 사용자에게 제공한다. VLAN 드라이버는 운영자에게 계층 2 VLAN 태깅과 심지어 IPv3 라우팅에 대한 완벽한 제어를 제공함으로써 언더레이 네트워크 통합에 관심이 있는 사용자를 위해 구축된다.
  • macvlan: Macvlan 네트워크를 사용하면 컨테이너에 MAC 주소를 할당하여 네트워크의 실제 장치로 표시할 수 있다. Docker 데몬은 MAC 주소로 컨테이너에 트래픽을 라우팅합니다. Macvlan 드라이버를 사용하는 것은 때때로 Docker 호스트의 네트워크 스택을 통해 라우팅되는 것이 아니라 실제 네트워크에 직접 연결될 것으로 예상되는 레거시 응용 프로그램을 처리 할 때 가장 좋은 선택이다.
  • none: 이 컨테이너에 대해 모든 네트워킹을 사용하지 않도록 설정한다. 일반적으로 사용자 지정 네트워크 드라이버와 함께 사용된다. 스웜 서비스에 사용할 수 없다.
  • Network plugins: 도커와 함께 타사 네트워크 플러그인을 설치하고 사용할 수 있다. 이러한 플러그인은 도커 허브 또는 타사 공급업체에서 구입할 수 있다. 

자세한 설명은 다음 포스팅에서 하자.


참고

https://docs.docker.com/network/

'기타 팁들' 카테고리의 다른 글

Websocket  (0) 2023.05.05
Celery shared_task  (0) 2023.05.03
Script 실행 시 경로 포함하기  (0) 2023.04.28
Ssh 접속 관련 실수  (0) 2022.12.09
Django Installed Package Script  (0) 2022.12.09
    '기타 팁들' 카테고리의 다른 글
    • Celery shared_task
    • Script 실행 시 경로 포함하기
    • Ssh 접속 관련 실수
    • Django Installed Package Script
    r잡초처럼
    r잡초처럼
    오늘보다 내일 더 나은 개발자가 되기 위한 노력을 기록하는 블로그 입니다.

    티스토리툴바