Docker?

서비스를 패키징 및 배포를 하는데 유용한 오픈소스 프로그램
즉 , 컨테이너를 모듈식 가상 머신처럼 사용 가능하게 만들어주는 프로그램
카카오 컨퍼런스 이것을 보면 너무 컨테이너 관련 설명을 잘해주신다

기존 Linux Container과 차이점

Pasted image 20231122151223.png
Red Hat

위 사진을 보면 LXC는 간단히 설명하면 VM과 같은 머신을 이용하여 가상 환경을 띄우는 것 인데,
VM은 각 환경마다 OS 를 구축을 해야하지만, Docker은 Docker Engine 상에 프로세스를 띄워 사용하는 방식이기 때문에 보다 가벼워 졌다고 볼 수 있다.
과거에 Vagrant로 Hadoop EchoSystem을 구축해본 경험이 있는데 상당이 느리게 구축하였다, 하지만 Docker를 이용하니 상당히 빠른시간에 Build 및 구축이되서 상당히 당황스러웠다.

장점

  • 위와 같이 각각의 App, Service? 단위로 독립된 공간에 존재하여 서로 충돌이 발생하지 않게 구성하기 용이하다.
    • 마이크로 아키텍쳐 구성을 하기 용이하다.
  • 배포 시 이미지를 그대로 운영 서버에 배포하면 된다.
  • 같은 이미지를 사용하면, 같은 환경이라 봐도 무방하기 때문에 환경에 대한 제약이 적어져 배포, 확장이 용이해진다.

기본 준비 사항

window 기본적으로 Docker는 linux kernel 기반으로 동작을 하는 것으로 알고 있다.
Window에서 wsl 설정을 하여 우분투 환경을 구축 하고 docker desktop을 설치 혹은 docker를 설치하여 사용할 수 있다.
Docker Doc 혹은 MS Doc에 들어가서 따라하면 쉽게 할 수 있을 것 이다.

Docker 를 설치하였다면, Dockerfile혹은 docker-compose을 이용하여 이미지 빌드, 배포를 하여 사용할 수 있다.

[ Reference ]


개인적으로 공부한 내용 포스팅 중
잘못된 정보는 지적해주시면 좋겠습니다!

'프로그래밍 및 IT > docker' 카테고리의 다른 글

docker-compose  (1) 2023.11.27

+ Recent posts