ComputerScience/Docker

[Docker] 1. Docker의 기능

kyungmin.yu 2019. 4. 10. 19:24
 Docker의 3가지 기능
: Docker 이미지를 만드는 기능(Build), Docker 이미지를 공유하는 기능(Ship), Docker 컨테이너를 작동시키는 기능(Run)
 
1. Docker 이미지를 만드는 기능(Build)
: Docker는 애플리케이션의 실행에 필요한 프로그램 본체, 라이브러리, 미들웨어, OS 설정 등을 하나로 만들어서 Docker 이미지를 만듬.
Docker 이미지는 애플리케이션의 실행에 필요한 파일들이 저장된 디렉토리로 Docker 명령을 통해 tar 파일로 추출 가능.
 
Docker 이미지는 Docker 명령을 통해 수동으로 만들 수도 있고, Dockerfile이라는 설정 파일로 만들 수도 있음
지속적인 인티그레이션과 지속적인 딜리버리의 관점에서 보면 Dockerfile을 통한 이미지 생성이 효과적임
 
 
 
2. Docker 이미지를 공유하는 기능(Ship)
: Docker 이미지는 레지스트리에 공유가 가능함. 공식 레지스트리인 Docker Hub(https://hub.docker.com)에서 Ubuntu CentOS같은 베이스 이미지를 배포하고 있음
이러한 베이스 이미지들에 라이브러리, 미들웨어 들을 겹쳐서 독자적인 이미지를 만들고 레지스트리에 등록도 가능함
(ex. 공식이미지: Ubuntu, CentOS, mongoDB, Nginx, nodejs, MySQL …)
 
3. Docker 컨테이너를 작동시키는 기능(Run)
: Docker Linux상에서 컨테이너 단위로 서버 기능을 작동시킴.
Docker 이미지만 있으면 Docker가 설치된 환경 어디서나 컨테이너를 작동시킬 수 있음.
하나의 Docker 이미지를 이용해서 여러 개의 컨테이너를 동작시킬 수 있고 컨테이너들의 기동, 정지, 파기는 Docker 명령어를 통해 수행할 수 있음.
다른 가상화 기술로 서버를 실행시키면 OS의 실행부터 시작하기 때문에 시간이 걸리지만 Docker의 경우 이미 동작하고 있는 OS에서 프로세스를 실행하는 것 처럼 실행할 수 있음
Docker는 하나의 Linux 커널을 여러 개의 컨테이너에서 공유하고 컨테이너 안에서 작동하는 프로세스를 하나의 그룹으로 관리하며, 그룹마다 각각의 파일시스템이나 호스트명, 네트워크들을 할당하고 있음.
 
하나 하나 책보고 정리하는데 이전에 그냥 지나쳤던게 넘 많이 보이는듯..
Docker제대로 파려면 리눅스 공부도 해야 할듯....

'ComputerScience > Docker' 카테고리의 다른 글

[Docker] 5. Docker Container Life Cycle  (0) 2019.04.26
[Docker] 4. Docker 명령  (0) 2019.04.16
[Docker] 3. Docker 실행  (0) 2019.04.16
[Docker] 2. Docker 설치  (0) 2019.04.12
[Docker] 0. Docker란?  (0) 2019.04.10