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 |