본문 바로가기

Docker

[Docker] 도커

1. Docker

: 컨테이너 기반의 오픈소스 가상화 플랫폼

Virtual Machine

- Virtural Machine

기존의 VM에서는 Host의 컴퓨터 위에 각각의 운영체제를 설치하고, 그 위에 환경 설정과 원하는 어플리케이션을 올려야했다. 

독자적인 OS를 가지면서 보안적으로 장점을 가질 수 있었지만, 매번 사용할때마다 새로운 환경을 구축해야하고, 가상화된 하드웨어 OS위에 guest OS를 올리기 때문에 무겁고 느리게 동작한다.

 

- Docker

Docker는 위와 같은 방식이 아닌 Docker Engine위에 Host OS를 올리는방식이다. 

각각의 격리된 공간(컨테이너)에는 앱을 실행하는데 필요한 라이브러리와 실행 파일만 포함시킨다.

호스트의 운영체제를 커널을 통해 공유하기 때문에 설치할 필요가 없어 편리하고, 속도가 느려지지 않는다.

 

또한 도커는 image를 통해 편하게 설정한 실행파일이나 설정값을 복제하여 사용할 수 있기 때문에 편리하고, 안정적이다.

 

2. 리눅스 컨테이너(Container)

: 격리된 공간에서 프로세스가 동작하는 기술

도커는 컨테이너 자체가 아니다. 컨테이너 기술을 이용하여 이런 방식을 쉽게해주는 소프트웨어 중 하나가 도커이다.

프로세스를 격리시키기 때문에 가볍고 빠르게 동작한다.

CPU나 메모리는 프로세스가 필요한 만큼만 추가로 사용하고 성능적으로도 손실이 거의 없다.

 

컨테이너는 리눅스 운영체제의 기술이기 때문에 도커가 컨테이너 방식으로 운영이 되려면 리눅스 운영체제가 필요하다. 리눅스 운영체제가 아닐 경우에 도커가 알아서 리눅스 가상 머신을 만들어 준다. 

 

 

3. 이미지(Image)

: 컨테이너 실행에 필요한 파일과 설정값 등을 포함하고 있는 것

이미지 자체로 상태값을 가지지않고, 변하지 않는다.(Immutable) 하나의 이미지를 통해 여러개의 컨테이너를 실행시킬 수 있다.

 

Docker hub에 등록하거나 Docker Registry를 직접 만들어 배포/관리 가능

 

4. Docker Registry 

: 도커 image가 저장 및 관리하는 장소 

대표적으로 도커 허브가 있다. 

* 도커 허브(Docker hub) : 도커 이미지를 공개적으로 관리하는 registry. (공식 이미지도 올라와있다.)

http://www.dockerhub.com/

 

Docker Hub Container Image Library | App Containerization

We and third parties use cookies or similar technologies ("Cookies") as described below to collect and process personal data, such as your IP address or browser information. You can learn more about how this site uses Cookies by reading our privacy policy

hub.docker.com

 

 

5. Command Line 와 GUI

도커를 설치하면 도커에서 제공해주는 그래픽 환경(Docker Desktop)으로 관리를 할 수도 있고, 커맨드 라인으로도 관리가능하다.

그래픽이 더 편리할 수는 있지만 도커에서 제공해주는 모든 기능을 사용하려면 커맨드 라인을 이용할 줄 알아야한다.

CLI vs GUI

 

 

 


참고 문서

 

도커 공식 문서 : https://docs.docker.com/

 

생활 코딩 - Docker 입문 수업

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

 

초보를 위한 도커 안내서

https://subicura.com/2017/01/19/docker-guide-for-beginners-1.html

 

초보를 위한 도커 안내서 - 도커란 무엇인가?

도커를 처음 접하는 시스템 관리자나 서버 개발자를 대상으로 도커 전반에 대해 얕고 넓은 지식을 담고 있습니다. 도커가 등장한 배경과 도커의 역사, 그리고 도커의 핵심 개념인 컨테이너와 이

subicura.com