일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 오라클 디비
- 오라클
- ABAP
- node.js
- 도커
- SAP ERP
- SAP ABAP
- Spring Framework
- oracle
- 영어
- Programming
- docker
- db
- 자바스크립트
- JavaScript
- 유럽여행
- 딥러닝
- IT
- SAP
- 자바
- nodejs
- Python
- Mac
- 파이썬
- Oracle DB
- 노드
- sap mm
- 비지니스영어
- Java
- 머신러닝
- Today
- Total
JIHYUN JEONG
[Docker] 도커란? 본문
우연한 기회에 도커에 대해 접해볼 기회가 생겨 도커가 무엇인지에 대해서 간단한게 정리하고자 합니다.
그림출처(https://www.onlinebooksreview.com/uploads/blog_images/2017/10//29_docker_twitter_share.png)
'도커'에 대해서 이해할려면 '컨테이너' , '이미지' 에 대해서도 이해가 필요합니다. 이 부분에 대해서는 뒤에 추가적으로 다루겠습니다.
'도커'의 사전적 정의는 '부두[항만] 노동자' 라고 나온다. 어렴풋이 부두가 연상되면서 컨테이너 선을 가볍게 머리에 떠올리기만 하자.
도커는 오픈소스 소프트웨어 컨테이너 플랫폼입니다. |
The Docker platform is the only container platform to build, secure and manage the widest array of applications from development to production both on premises and in the cloud. (공식웹사이트, https://www.docker.com/what-docker#/modern-app)
다들 VMware에 대해서는 한번 쯤 들어봤을 것입니다. App 서버를 물리적인 서버에서 운영하던 것을 VMware와 같은 소프트웨어를 통해서 가상머신 위에서 운영하게 되었습니다.
이를 통해서 기존에 쓰지 않고 놀고 있던 자원들을 활용 할 수 있게 되었죠.
하지만 여기에는 몇가지 문제가 있었습니다.
(출처: https://www.docker.com/sites/default/files/VM%402x.png)
가상머신을 사용할려면 Guest OS를 필수로 설치해야 했긴 때문에 용량이 커지고 성능이 느렸습니다.
이에반해 Docker를 사용할 경우 HostOS 위에서 App들이 구동 되기때문에 가상서버 대비 용량은 적고 성능이 훨씬 좋았습니다. 그리고 배포까지 편리합니다.
(출처:https://www.docker.com/sites/default/files/Container%402x.png)
이게 가능한 이유는 리눅스 커널의 'cgroups', namespaces' 가 제공 하는 기술이기 때문입니다. 즉 격리를 시키는 것 입니다.
정리하자면
도커는
1. 게스트 OS 를 설치 하지 않는다.
2. 이미지에 서버 운영을 위한 프로그램과 라이브러를 격리해서 설치가 가능하다.
3. 가상머신 대비 용량이 적다.
4. Host OS와 자원을 공유한다.
또한 장점으로는 Github와 같이 Docker hub를 제공함으로써 이미지를 공유할 수 가 있습니다.
그럼 앞서 얘기한 이미지에 대해서 알아보겠습니다.
이미지는 서버를 구동하기 위해 필요한 프로그램, 소스코드, 컴파일 된 실행 파일을 묶은 형태를 말합니다. |
컨테이너는 이미지를 실행한 상태 입니다. |
그러니까 하나의 이미지를 통해서 여러개의 컨테이너를 만들 수 있습니다.
즉,도커는 여러 개의 컨테이너&이미지를 실행하고 이미지 저장과 배포를 할 수 있는 플랫폼 입니다. |
참고사이트
- https://subicura.com/2017/01/19/docker-guide-for-beginners-1.html#%EB%8F%84%EC%BB%A4%EB%9E%80
- https://ko.wikipedia.org/wiki/%EB%8F%84%EC%BB%A4_(%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4)
- https://www.slideshare.net/pyrasis/docker-fordummies-44424016
- docker공식 홈페이지, https://www.docker.com/
작은 계획을 세우지 말라; 작은 계획에는 사람의 피를 끓게할 마법의 힘이 없다... 큰 계획을 세우고, 소망을 원대히 하여 일하라.
Make no little plans; they have no magic to stir men's blood...Make big plans, aim high in hope and work.
'Information Technology > Infra' 카테고리의 다른 글
[DOCKER] 파이썬 3 + Anaconda (개발 환경 구축 -파이썬을 이용한 머신러닝, 딥러닝 실전 개발을 위한) (0) | 2018.03.17 |
---|---|
[DOCKER] 도커 설치(개발 환경 구축 -파이썬을 이용한 머신러닝, 딥러닝 실전 개발을 위한) (2) | 2018.03.16 |