개발/DevOps

[Docker] 도커의 개념과 설치 방법에 대해서

growing-dev 2023. 2. 14. 23:15

오늘은 도커의 개념과 설치하는 방법을 공부해 보고 한번 실행해 볼 것이다.

도커의 개념과 설치 방법에 대해서

 

도커의 개념

도커는 한 마디로 말하면 컨테이너를 활용한 오픈소스 가상화 플랫폼 혹은 기술이다. 컨테이너는 독립적인 실행 환경으로 기존 VM과는 다르게 OS를 가상화하지 않고 기존 OS 위에 컨테이너를 실행하는 개념이라고 할 수 있다. 우리가 각 PC 환경에서 개발하거나 프로그램을 실행하려고 했을 때 로컬 환경마다 설정이 다르고 여러 가지 문제가 많이 발생한다. 그런 것들을 컨테이너에 담아서 독립적으로 실행할 수 있다면 어디에서 누가 실행하더라도 동일하게 실행할 수 있겠다는 콘셉트에서 시작된 기술이라고 볼 수 있다. 도커 컨테이너를 빌드하고 이미지를 만들어서 배포할 수 있어서 빠르게 확산되고 있다. 특히 마이크로 서비스 아키텍처와 같이 각각의 서비스를 분리하고 모듈화 할 때 매우 유용한 기술이다.

 

컨테이너(Container)

아래 그림과 같이 기존 VM과는 다르게 도커 엔진 위에서 App이 컨테이너로 돌아가는 시스템이다.

전통적인 리눅스 컨테이너와 도커 컨테이너가 좀 다르다고 한다. 이것에 대해서는 깊게 파고들지는 않을 것이다.

기존 VM과 Docker 비교. 출처 : https://subicura.com/2017/01/19/docker-guide-for-beginners-1.html

 

도커의 장점

도커의 컨테이너를 활용한 가상화 기술을 통해 각종 애플리케이션이 쉽고 빠르게 배포될 수 있었다.

또한 도커를 관리하는 쿠버네티스와 같은 도구는 도커를 좀 더 쉽게 관리하고 더 고도화된 애플리케이션 관리가 가능하도록 해주었다. 도커를 활용하면 가이드를 하나하나 하면서 환경설정을 해주는 노력 대신에 일단 도커를 통해 해당 가상환경을 바로 실행해 볼 수 있다는 것이 굉장히 매력적인 것 같다.

 

 

 

도커 설치 방법

https://learn.microsoft.com/ko-kr/windows/wsl/tutorials/wsl-containers

 

WSL을 활용한 Docker 컨테이너를 설정하는 방법을 알아본다.

우선 도커 데스크탑을 설치해야 한다. 윈도 버전을 설치하면 된다.

https://www.docker.com/

 

Docker: Accelerated, Containerized Application Development

Docker is a platform designed to help developers build, share, and run modern applications. We handle the tedious setup, so you can focus on the code.

www.docker.com

도커 공식 홈페이지

 

설치 후 로그아웃하고 다시 로그인한다. 그리고 도커 허브에 가입한다. 도커 허브는 각종 이미지들을 올려놓을 수 있는 공간이다.

https://hub.docker.com/

 

Docker Hub Container Image Library | App Containerization

Deliver your business through Docker Hub Package and publish apps and plugins as containers in Docker Hub for easy download and deployment by millions of Docker users worldwide.

hub.docker.com

 

그리고 도커 데스크탑에서 도커 허브와 연동하고 튜토리얼을 진행해 본다. 튜토리얼 과정은 굳이 일일이 설명하지 않아도 너무 친절하게 잘 동작하였고 Clone -> Build -> Run -> Share의 과정을 거쳐서 최종적으로 도커 허브에 이미지를 push 하는 것까지 해보았다.

 

도커가 잘 실행되고 있는지 WSL으로 들어가서 확인해보았다. docker ps를 입력하면 방금 전에 튜토리얼에서 진행해서 실행되고 있는 도커 컨테이너와 도커 이미지 정보가 나온다.

docker ps

 

사실 도커 데스크탑을 활용하면 깊게 이해하거나 공부하지 않더라도 쉽게 사용해 볼 수 있다. 최근에 도커 데스크톱이 유료로 전환되면서 개인적인 학습 용도로는 무료로 이용가능하지만 기업이나 상업적으로 활용하려면 비용을 내야 한다.

그래서 도커 데스크탑 없이 활용하려면 아래와 같이 WSL에 직접 도커 엔진을 별도로 설치하고 윈도에서 WSL로 도커 데몬을 실행하는 식으로 귀찮게 세팅하고 실행해야 동작한다.

 

https://netmarble.engineering/docker-on-wsl2-without-docker-desktop/

https://docs.docker.com/engine/install/ubuntu/

 

Install Docker Engine on Ubuntu

 

docs.docker.com

 

결론

도커와 컨테이너 기술은 굉장히 매력적이다. 조금씩 더 공부하고 개념을 익히면서 익숙해져야 하겠다.

반응형

'개발 > DevOps' 카테고리의 다른 글

[DevOps] DevOps의 개념에 대해서  (0) 2023.02.25