내 잡다한 노트

port mapping과 volume mapping이 필요한 이유 본문

DevOps/docker

port mapping과 volume mapping이 필요한 이유

peanutwalnut 2023. 9. 15. 20:46

# Docker port mapping이 필요한 이유
docker 컨테이너 내의 application과 외부와 통신하기 위해 필요하다.
컨테이너는 기본적으로 격리된 환경에서 실행되기 때문에 외부와 소통하기 위해선 안쓰는 특정 포트를 매핑해야 외부와 통신이 된다.
수업에서 배웠던 것처럼 8080포트를 80포트와 맵핑시키면 외부에서 8080포트를 이용해 들어온 데이터들이 docker 컨테이너 내부에서 80포트로 바꿔주고 nginx 서버는 80포트에 온 데이터를 받아 처리하고 응답을 보내는 과정이 생기고 응답을 보낼땐 8080포트를 이용해 사용자에게 전달된다.

# volume mapping이 필요한 이유
volume mapping이라는 개념이 잘 이해되지 않아 살펴보니 컨테이너의 파일
시스템과 호스트의 파일 시스템 간에 디렉토리나 파일을 공유하기 위한 방법이라고 한다. 그래서 nginx와 내 디렉토리에 있는 html, css, js 파일을 가져와 웹페이지에 적용시킬 수 있었던 것이다.
volume mapping을 사용하면 호스트 시스템에 데이터를 영구적으로
저장할 수 있어서 컨테이너가 삭제되거나 재시작되더라도 데이터가 보존될 수 있다고 한다. 
또, 개발 중이거나 테스트 환경에서 로컬의 코드나 데이터를 컨테이너에 바로 반영하고 싶을 때 사용하면 매우 효과적이라고 한다.
 

'DevOps > docker' 카테고리의 다른 글

docker swarm 실습  (0) 2024.06.08
도커 네트워크에 대해 간단히 알아보기  (0) 2023.11.09
Dockerfile 만들기  (1) 2023.11.03
docker 핵심 단어 정리, 명령어 정리  (0) 2023.09.15
docker, 도커를 쓰는 이유  (1) 2023.09.14