2021. 1. 3. 02:17ㆍIT용어 아는척 하기
오늘은 인프라 쪽과 관련한 용어를 아는척 해보겠다. 그 이름하여 도커. |
Docker는 백앤드 영역에 서식하는 개발자라면 한번쯤은 들어봤을 용어이다.
과연 이것이 무엇에 써야하는 물건이며 회의시간에 Docker라는 용어가 나왔을 때 아는 척 할 수 있는 스킬을 익혀보자.
들어가기
도커는 wiki에 따르면 '도커는 리눅스의 응용 프로그램들을 소프트웨어 컨테이너 안에 배치시키는 일을 자동화하는 오픈 소스 프로젝트로' 라고 시작한다면 아는 척에 실패한 것이다.
우리는 개발자 답게 도커 전체를 통상적으로 이야기 하는 정의보다 곁다리적인 장점을 먼저 말해야한다.
출처 : https://www.researchgate.net/figure/CI-CD-Architecture-using-Docker_fig1_331131851
도커는 사실 개발자의 편의성을 위해 만들어 진 것이다.
더 자세히 말하자면 IT 시스템 운영자, SM 업무를 하는 사람들을에게 배포를 쉽게 해주는 역할을 해준다.
물론 시스템 초기 개발자 SI 업무를 하는 사람에게도 매번 배포를 하는 노가다를 쉽게 줄여준다.
그래서 요즘 도커가 이렇게 Hot함에도 불구하고 이 글을 쓰고 있는 시점의 한국 IT 생태계는
도커의 필요성을 고객(IT를 직접 운영하지 않는)이 잘 느끼지 못한다.
하지만 개발자의 편의성은 곧 IT 시스템의 안정화로 이어지고 장애가 날 확률을 줄여준다.
고로 도커는 IT 시스템을 운영하는 사람이든 고객이든 좋은 가치를 줄 수 있는 아이다.
개요
도커를 한마디로 정의하면 vm의 어플리케이션화이다.
VM을 올리려면 생각보다 복잡하다.
쉬운 예로 디자인에 혹해서 Mac을 샀다가 은행업무 때문에 window를 같이 설치하는 불쌍한 중생들을 많이 목도했을 것이다. 이것과 같은 이치이다.
서비스를 하나 더 늘리기 위해 같은 물리서버에 os를 하나 더 올려서 다시 웹서버부터 was, DB 등을 설정하는 것이다.
하지만 도커는 이것을 어플리케이션화 했다.
즉 하나의 리눅스(대표적으로, 다른 os도 가능)에 도커를 설치하고 그 안에 내가 만들고 싶은 웹 어플리케이션들을 물리 서버의 메모리가 허락하는한 계속 만들 수 있다.
더이상 인프라 담당자가 vm을 올려주기 까지 기다리고 port 작업을 해주고 기본적인 os 환경 구성을 해줄때까지 기다릴 필요가 없다는 것이다!
도커는 엑셀이다?!
이해를 돕기 위해 도커를 엑셀에 비유하겠다.
윈도우에 깔리는 어플리케이션 중 하나가 엑셀이다
리눅스(주로 웹서버를 위한, mac os나 window 서버에도 설치 가능하다)에 깔리는 어플리케이션 중 하나가 도커가 된다.
고로 설치도 간단하다.
curl -fsSL https://get.docker.com/ | sudo sh
우분투를 기준으로 위 명령어만 치면 설치가 된다. (윈도우에서 install.exe를 더블클릭하는 것과 같다.)
우리는 효율적인 문서 작업을 위해 다른 사람이 만들어 놓은 엑셀 템플릿 파일을 다운 받아서 쓰기도 한다.
우리는 효율적인 서버 구성을 위해 다른 사람이 만들어 놓은 도커 스크립트를 이용한다.
엑셀 파일을 더블클릭해서 사용하듯이 아래의 명령어로 도커 스크립트를 실행하여 서버로 사용할 수 있다.
다른 사람들이 만든 엑셀 템플릿 등을 해피캠퍼스 등의 사이트로 공유한다.
다른 사람들이 만든 도커 스크립트는 도커허브를 통해 공유한다.
나중에 도커의 기본적인 사용법에 대해서도 다뤄보겠다.
이 글이 도커로 고통 받는 자들의 고통을 1이라도 줄여 줄 수 있길 바란다.
'IT용어 아는척 하기' 카테고리의 다른 글
프로그래밍의 근본, 알고리즘 (feat. 코딩테스트) (0) | 2021.12.27 |
---|---|
Atomic Design Pattern (feat. React, Vue, Flutter) (0) | 2021.12.26 |
개발자가 이해하는 북극성 지표(North Star Metric) (0) | 2021.12.26 |
[기술] 머신러닝 기초 (feat. Deep Learning) (0) | 2021.01.03 |
[개발언어] 파이썬(python) 아는척 하기 (feat. 기초) (0) | 2021.01.03 |