Red-hat 계열에서 사용하기 위해 개발한 프로그램을 Debian 계열의 OS에서 사용해야할 경우가 발생했습니다. 리눅스 계열이지만, 명령어나 라이브러리가 다소 차이가 있기에 Debian 계열의 OS 개발환경을 만들어야 했습니다.
그래서, 이번 기회에 "Docker container" 에 대해 공부하면 사용 해보고자 합니다.
많은 부족한 점이 있으니, 피드백은 언제든지 환영입니다.
도커는 무엇인가??
도커는 컨테이너 기반의 오픈 소스 가상화 플랫폼 이라고 합니다. (한번에 와닿지는 않았습니다..)
도커에서 지칭하고 있는 "컨터이너"의 개념은 보통 생각하는 운반할 물건들을 담는 큰 그릇을 의미하는게 맞습니다. 큰 배에 여러 물건들을 컨테이너 별로 싣는다면 각각의 내용물은 서로 섞이지 않습니다.
즉, 컨테이너에 담긴 내용들, 컨테이너 간에는 독립성이 보장되는 것입니다.
그래서 다시 도커를 생각해볼때, 개발해야할 소스코드와 개발, 실행 환경등이 도커 컨테이너라는 가상 공간 안에 넣고 관리를 할 수 있고, 각 프로젝트나 프로그램이 담긴 컨테이너 간에는 독립성이 보장되기 때문에 관리하기도 좋고 배포하기에도 용이한 면이 있습니다!
도커 컨테이너는 가상머신과 어떻게 다른가??
사실 도커를 사용하기 전에 종래에 Virtual Box를 통해서 OS를 구성하여 테스트해보곤 했습니다. 물론 목적은 비슷해 보이지만 도커 컨테이너가 Virtual Box와 같은 가상머신 보다 월등한 성능은 "월등한 실행 속도" 입니다.
완벽하게 이해는 못해지만 도커가 가상머신보다 확연히 빠를 수 있는 것은 핵심 기술인 "컨테이너" 가 기존의 OS 자체를 가상화하는 가상 머신과 달리 CPU의 가상화하여 Guest OS가 없이 구동하기 때문이라고 합니다 (확실하게는 잘 .. )
확실한 것은 OS를 가상화하여 Guest OS를 보유하는 가상머신의 경우에 비해 월등한 속도! 자랑한다는 것이죠! 가볍다는 것은 개발자의 시간적 여유로움 주는 아주 큰 장점이라고 생각합니다.
'OS(운영체제) > Linux' 카테고리의 다른 글
[Linux] Docker 소프트웨어 배포 및 외부접속 하기 (0) | 2021.12.23 |
---|---|
[Linux] Docker의 Dockerfile 작성하여 Docker image 만들기 (0) | 2021.12.22 |
[Linux] Docker 주로 사용하는 명령어 모음!! (0) | 2021.12.16 |
[쉘스크립트] 사용자 입력 받기 (read/case) (0) | 2021.07.14 |
[Linux] CentOS 7 설치 (0) | 2021.02.23 |