JongTachi의 개발 블로그

[IT Info] Docker(도커)란? 본문

IT Information

[IT Info] Docker(도커)란?

JongTachi 2023. 8. 16. 22:24
728x90
반응형

해당 글은 니콜라스의 IT 잡학 사전을 참고하여 작성하였습니다.

 

1. What is Docker?

Docker는 컨테이너화 기술을 사용하여 응용 프로그램을 개발, 배포 및 실행하기 위한 오픈 소스 플랫폼입니다. 이를 통해 개발자는 응용 프로그램과 해당 종속성을 격리된 환경인 "컨테이너"에 패키징하여 어디서든 실행할 수 있습니다. 

 

즉 도커는 개발 환경과 관련이 있다는거죠

 

예를 들어 설명드리겠습니다.

 

여러분이 개발을 마친 작업물을 애플리케이션 서버에 올리기만 하면 되는 상황(서비스 배포라고 생각하면 됨)

하지만 서버에 올렸는데 제대로 실행되지 않아서 원인을 알아봤는데 코드가 실행되지 않은 이유는 개발할 때 운영체제는 윈도우 인데 애플리케이션을 구동해야 하는 서버 운영체제는 리눅스인 경우..

 

이때 도커가 등장합니다.

 

도커는 어떤 컴퓨터에서도 같은 개발 환경을 준비할 수 있도록 해주는 도구입니다.

운영체제가 서로 다른 상황에서 도커가 어떻게 해결하냐면..

 

먼저 윈도우에도, 서버에도 도커를 설치합니다. 그리고 도커 파일이라는 것을 생성하는데, 여기서 구현하고 싶은 환경 목록이 적혀있습니다. (밑에 내용)

  • 파이썬 3.0버전
  • 우분투 12버전
  • 등등..

이렇게 도커 파일을 완성시킨 후 컴퓨터(윈도우)와 서버(리눅스)에 전달하면 도커는 자동으로 해당 파일을 확인하여 필요한 것을 내려받아 설치합니다. 도커가 없다면 수동으로 설치해야겠죠??..^_^(시간 개 잡아 먹을 듯..)

 

그리고 도커가 준비한 프로그래밍 언어가 동작하는 환경을 컨테이너라고합니다. 

 

건설 공사장에서는 사무실을 보통 컨테이너 박스로 만들잖아요? 

공사 규모가 클수록 컨테이너 박스는 더욱 많아질겁니다. 컨테이너 박스를 하나 만들면 온갖 문서들이 뒤섞일 테니까 분리하는 겁니다. 바로 이것이 도커의 역할이죠.

 

2. what is the Container

위애서 설명드린 컨테이너에 대해 자세한 부연 설명을 드리고자합니다.

 

아까 설명 드린 것처럼 도커 컨테이너는 각각 서로 분리되어 있고 독립적이라서 컴퓨터 하나에 수많은 컨테이너가 있을 수 있습니다. 예를 들면 하나는 자바 개발을 위한 컨테이너, 하나는 자바스크립트를 위한 컨테이너... 그래서 미리 분리해서 관리해야 합니다. 

 

만약 도커와 컨테이너가 없다면 사용량이 늘 때마다 서버를 구매하고, 개발 환경을 설정하고.. 반복되는 작업들이 너무 많아져 효율적이지 못하게 되죠. 개발환경을 편하게 세팅하는 것! 이것이 개발자들이 도커를 많이 사용하는 이유입니다.

 

다음에는 더욱 유익한 정보로 찾아뵙겠습니다.

감사합니다.

728x90
반응형