웹개발자로서 실무에서 도커, 컨테이너라는 용어를 자주 접하게 된다. 생소한 도커에 대해서 당장 써먹을 수 있도록 쉽게 핵심만 알아보도록 하자.
도커란?
"도커 컨테이너는 일종의 소프트웨어를 소프트웨어의 실행에 필요한 모든 것을 포함하는 완전한 파일 시스템 안에 감싼다. 여기에는 코드, 런타임, 시스템 도구, 시스템 라이브러리 등 서버에 설치되는 무엇이든 아우른다. 이는 실행 중인 환경에 관계 없이 언제나 동일하게"
~블라 블라~
들어도 모르겠다.
도커의 이미지와 컨테이너 개념을 이해하기 쉽게 비유하자면, "도커 이미지는 레시피나 설계도"에, "도커 컨테이너는 그 레시피로 만들어진 음식이나 설계도대로 지어진 집"에 비유할 수 있다. 그렇다면 도커 파일은 건축주의 발주서 정도!
도커 이미지 : 설계도
- 설계도 : 도커 이미지는 건물을 지을 때 사용하는 일종의 설계도와 같다. 설계도는 건물을 구축하는 데 필요한 모든 정보를 담고 있으며, 이를 바탕으로 실제 건물을 지을 수 있다.
도커 컨테이너 : 집
- 집: 설계도대로 지어진 집과 같이, 도커 컨테이너는 이미지(설계도)를 기반으로 실제 실행 환경(건물)을 만들어낸다.
도커가 없다면
당신은 웹 서비스를 구동하기 위해서 서버를 세팅해야 된다.
서버에 os 종류와 node, jdk, npm, redis, mysql 등등을 설치하고 실행해줘야 한다.
서버가 추가 될때마다 매번 해줘야 하고 버전이 변경되서 예상치 못한 장애가 발생하기도 한다.
또는 팀에 새로운 개발자가 합류할때 마다 로컬에 개발환경을 구축하기 위해서 매번 동일한 세팅을 반복해야 된다.
도커
다시 도커로 돌아가 보자.
도커 이미지에 서버에 필요한 환경 예를 들면
ubuntu 10 + node 12 + jdk 8 의 환경에서 서버를 구동한다는 구체적인 정보를 작성한다.
그러면 도커는 이 이미지를 가지고 매번 동일한 환경으로 컨테이너라는 집을 지을수 있다. 이 컨테이너를 분양하듯 서버나 로컬에 배포만 하면 된다.
다음부터는 바로 사용하는 방법에 대해서 알아보자
'개발관련' 카테고리의 다른 글
도커 볼륨 마운트 -v,--volume 컨테이너 경로를 호스트 경로 링크 마운트 하는 방법 (0) | 2024.02.28 |
---|---|
next.js + jenkins + harbor + docker 배포 구성하기 (1) | 2024.01.29 |
도커 CLI 실행 방법 도커 포트 설정 방법 (1) | 2024.01.21 |
Windows에서 개발 환경 세팅 하기 WSL 설치 및 사용법 (1) | 2023.10.30 |
의존성 역전 원칙(Dependency Inversion Principle, DIP) (0) | 2023.07.10 |