기타

docker volume, docker network

content0474 2024. 12. 11. 10:46

Docker Volume (도커 볼륨)

 

Docker Volume은 컨테이너와 호스트 시스템 간에 데이터를 저장하고 공유하는 방식으로, 데이터의 지속성을 보장

컨테이너가 삭제되어도 데이터는 유지

특징
데이터 지속성: 컨테이너가 종료되거나 삭제되더라도 데이터가 유지
독립성: 컨테이너와 별개로 관리되므로 여러 컨테이너 간 데이터 공유 가능
성능 최적화: 도커가 직접 관리하여 파일 시스템보다 성능이 뛰어남

 

주요 명령어

  • 볼륨 생성: docker volume create <볼륨 이름>
  • 컨테이너와 볼륨 연결: docker run -v <볼륨 이름>:<컨테이너 내부 경로> <이미지>
  • 볼륨 확인: docker volume ls
  • 볼륨 삭제: docker volume rm <볼륨 이름>

 

사용 예시
데이터베이스 컨테이너의 데이터를 저장하거나 백업할 때 사용
로그 파일 저장 및 공유

 

 

Docker Network (도커 네트워크)
Docker Network는 여러 컨테이너 간에 통신을 설정하거나 컨테이너를 외부 네트워크와 연결하는 데 사용

유형
bridge (기본 네트워크):
컨테이너 간 통신이 가능
외부 네트워크와 분리된 상태로 동작
명령어: docker network create <네트워크 이름>

 

host:
컨테이너가 호스트와 동일한 네트워크를 공유
네트워크 격리가 없으며, 성능이 필요할 때 사용
명령어: docker run --network="host"

 

none
네트워크가 완전히 격리된 상태로 실행
명령어: docker run --network="none"

 

overlay:
여러 도커 호스트 간 네트워크를 연결.
Docker Swarm이나 Kubernetes에서 사용.
명령어: docker network create --driver overlay <네트워크 이름>

 

macvlan:
컨테이너에 직접 IP를 할당해 물리적 네트워크처럼 동작

 

주요 명령어

  • 네트워크 생성: docker network create <네트워크 이름>
  • 컨테이너에 네트워크 연결: docker run --network=<네트워크 이름> <이미지>
  • 네트워크 확인: docker network ls
  • 네트워크 삭제: docker network rm <네트워크 이름>

 

사용 예시
컨테이너 간 데이터 교환 및 API 호출
데이터베이스와 애플리케이션 서버를 분리하여 통신 설정
외부 서비스와의 연결을 제한하거나 제어

 


도커 볼륨과 네트워크

볼륨: 데이터 저장 및 공유
네트워크: 컨테이너 간 통신 및 외부 연결 설정

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

docker compose 기본개념  (0) 2024.12.10
github action 기본개념  (1) 2024.12.09
도커 기본개념  (2) 2024.12.06
SA문서와 readme 작성  (0) 2024.11.29
웹 크롤링  (0) 2024.11.22