Docker의 개요
애플리케이션의 실행에 필요한 환경을 하나의 이미지로 모아두고, 그 이미지를 사용하여 다양한 환경에서 애플리케이션 실행 환경을 구축 및 운용하기 위한 오픈소스 플랫폼이다. 도커는 컨테이너 기술을 사용하고 있다.
즉, 개발, 테스트, 실제 개발 환경을 구축해놓은 상태에서 개발을 하고 테스트, 운영까지도 동일하게 실행이 될 수 있게 제공을 한다는 것이다. 도커는 인프라환경을 컨테이너로 관리하며 이미지를 통해 데이터를 가져온다.
이미지를 관리할 수 있는 하나의 레포지토리인 Docker hub에서 공유를 한다.
도커 개발 환경
- 프로그래머가 Docker를 사용하여 개발한 애플리케이션의 실행에 필요한 모든 것이 포함된 Docker 이미지를 생성
- 이 이미지는 컨테이너의 바탕이 되어 Docker를 사용할 수 있는 환경이라면 어디서든 개발 제품을 이용가능
- 이러한 환경은 '개발/테스트환경에서는 움직이지만 제품/환경에서는 움직이지 않는다' 의 리스크를 줄임
- 이로서 지속적 딜리버리 (CD : Continuous Delivery)를 가능하게 한다.
애플리케이션의 이식성 (Portability)
- 한 번 만들면 어디서든지 움직이는 소프트웨어의 특성을 의미.
- Docker는 이식성이 높기 때문에 클라우드 시스템과 친화력도 높다.
도커의 기능
도커를 가지고 우리는 무엇을 할 수 있을까? 크게 보면 세가지로 나누어서 설명한다
- Docker의 이미지를 만드는 기능 (Build)
- Docker의 이미지를 공유하는 기능 (Ship)
- Docker 컨테이너를 작동시키는 기능 (Run)
Build
- 이미지를 만드는 기능 컨테이너를 가지고 서비스를 구성할 수 있다.
- AWS에서 EC2인스턴스를 생성할 때 사용하는 AMI파일, VirtualBox에서 사용하던 ova파일과 비슷한 개념이다.
- 이처럼 도커 내의 이미지를 이용하는 기능이 존재한다.
- 이러한 이미지 파일을 생성하는 기능을 Build라고 한다.
Ship
- 이미지를 공유하는 기능이다. 도커 허브라는 곳에서 도커의 이미지를 공유하고 내려받기가 가능하다.
- 원하는 이미지를 다운받을 수 있고 내 이미지를 업로드를 할 수 있다.
- 도커에서 인증한 공식 이미지들이 존재한다.
# 회원가입 후 이용하면 된다.
Run
- 컨테이너를 작동시키는 기능.
- Docker 이미지를 가지고 있다면 Docker가 설치된 환경이라면 언제, 어디서든지 컨테이너를 작동 시킬 수 있다.
- Docker 명령어를 통해 컨테이너의 실행, 정지, 삭제 등이 가능하다.
- 가상화 기술의 경우 서버 기능을 실행하려면 OS실행부터 시작하기에 시간이 걸리지만 Docker의 경우는 이미 움직이고 있는 OS상에서 프로세스를 실행시키는것과 같이 빠른 속도로 실행이 가능하다. ( 큰 장점이다 )
'DevOps > Docker' 카테고리의 다른 글
[Docker] Container 생성, 시작 및 정지 (0) | 2021.09.16 |
---|---|
[Docker] Docker 이미지 조작 (0) | 2021.09.16 |
[Docker] 웹 서버 작동해보기 (0) | 2021.09.13 |
[Docker] Docker 설치 (0) | 2021.09.13 |
[Docker] 컨테이너 (0) | 2021.09.13 |