본문 바로가기
프로그래밍/Norms

2021년 7월 28일 - Docker 기초 개념

by 철제백조 2021. 7. 28.

 

☆ Docker란?

Docker란 'Environment disparity' 직역하자면, '환경의 차이'라는 문제가 발생했을 때, 이를 해결할 수 있는 툴이다.

그러면 Environment disparity란 무엇일까? 예시로 확인해보자.

내가 만든 코드를 서버에 올리기만 하면 되는 상황이다. 분명 내 PC에서는 잘 작동을 하였으나, 서버에 업로드 직후 작동을 제대로 하지 않았다. 이 이유는 내 컴퓨터가 Windows고, 서버는 Linux 기반이기 때문이다. 이것이 Environment disparity라 할 수 있으며, 이런 문제점을 Docker가 해결해줄 수 있다.

Docker를 통해 다른 기기에서도 같은 환경을 구현하는 게 가능하다.

 


 

☆ 간단한  Docker 사용 순서

Docker를 윈도우에 설치하고, 서버에도 설치한다.

docker 파일을 생성한다. 여기서 개발자가 구현하고 싶은 환경을 설정하면 된다.

ex) 우분투, 파이썬, Git 등등

이 파일을 서버와 개발자의 컴퓨터 양쪽에 준 뒤, Docker는 그 파일을 읽어 필요한 것을 다운로드 받으며, 해당 설정 환경과 같은 버츄얼 컨테이너를 컴퓨터에 생성한다. 또한 Docker는 서버에서 필요한 것들 역시 다운로드받는다. 

따라서 개발자가 컴퓨터에서 서버로 docker 파일과 함께 코드를 업로드 하면 잘 작동한다.

 


 

☆ Docker의 이해

Docker는 각 컨테이너들이 분리되어있다고 있으며 독립적이라 가정한다. 

이러한 특징 덕분에 한 개의 서버에 각기 다른 많은 수의 컨테이너를 가질 수 있다.

ex) 파이썬 컨테이너, java 컨테이너 등등

만약 내가 개발한 java 앱이 인기가 많으면, java 컨테이너의 갯수를 늘리는 것으로 해결된다. 다시 트래픽이 줄어들 경우, 해당 컨테이너들의 수를 줄일 수 있다.

이러한 Docker의 성능 덕분에 매번 새로운 서비스를 만들 때마다 새로운 서버를 사고, 설정할 필요가 없는 것이다. 그저 원하는 수만큼 컨테이너를 생성하고 복제하면 된다.

개발자는 원할 때마다 Docker를 통해 새로운 환경을 생성할 수 있다.

 


 

☆ 개발자들의 사랑을 받는 Docker

하나의 같은 서버에서 각기 다른 환경의 컨테이너를 설정할 수 있다.

이 컨테이너들은 각기 분리, 독립되어 있다. 그렇기에 무슨 환경이든 모듈식으로 관리가 가능하다.

 

 

● 얄코님의 쉽게 이해하는 도커 개념

https://www.youtube.com/watch?v=tPjpcsgxgWc 

 

'프로그래밍 > Norms' 카테고리의 다른 글

2021년 7월 29일 - Baekjoon & Solved  (0) 2021.07.29

댓글