Docker란?
- 컨테이너 기술을 활용한 오픈소스 가상화 플렛폼이다.
- 다양한 프로그램 및 운영체제와 같은 실행환경을 컨테이너로 가상화하고 동일한 인터페이스르르 제공하여 프로그램의 배포 및 관리를 단순화한다.
- 컨테이너 기술을 활용하면 애플리케이션이 독립적인 실행 환경을 갖는다는 것에서 큰 의미가 있다.
컨테이너란?
- 격리된 가상화 공간에서 프로세스를 동작시키는 기술이다.
- 기존의 가상화 방식은 OS 가상화이기 때문에 오버헤드가 컸지만 컨테이너는 프로세스를 단수히 격리시키는 것이기 때문에 가볍고 빠르다.
- CPU나 Memory같은 자원을 필요한 만큼만 할당할 수 있으므로 성능적인 손실이 거의 없다.
- 이미지를 실행시킨 상태 그 자체가 컨테이너이다.
컨테이너 기술의 장점
- 하나의 Host에 여러 컨테이너를 실행하여도 서로 영향을 미치지 않고 독립적으로 실행된다.
- 새로운 컨테이너를 고속으로 생성이 가능하다.
- 실행중인 컨테이너에 접속하여 명령어 입력, 패키지 설치, 사용자 추가등의 수정 및 변경이 가능하다.
이미지란?
- 컨테이너 실행에 필요한 파일과 설정 값등을 포함하고 있는 것
- 하나의 이미지로 여러개의 컨테이너에서 실행이 가능하다.
- Docker Hub에 등록하거나 Docker Registry 저장소를 직접 생성하여 관리가 가능하다.
- 이미지는 다른 어떤 환경에서도 컨테이너에 동작시키면 실행환경에 영향없이 동일하게 동작한다.
Docker 구성 요소
1. Docker Engine
- Docker Image를 생성하고 Container를 실행하는 핵심 기능
2. Docker Regitry
- Docker Image를 공유하는 저장소, Docker Hub도 Docker Registry를 사용한다.
3. Docker Compose
- 어러 컨테이너를 관리하기 위한 도구이다.
4. Docker Machine
- 로컬의 Virtualbox나 퍼블릭 클라우드에서 Docker 실행환경을 구축하는 도구이다.
5. Docker Swarm
- 여러 Docker Host를 마스터와 노드 구조로 Cluster화 하는 도구이다.
Docker 설치 방법 (CentOS7)
1. 패키지 업데이트 및 필요한 종속성 설치
yum update
yum install yum-utils device-mapper-persistent-data lvm2
2. Repository 설정
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum-config-manager --enable docker-ce-nightly
3. Docker CE(Community Edition) 설치
yum -y install docker-ce docker-ce-cli containerd.io
4 Docker 실행
systemctl start docker
systemctl enable docker
5. Docker 설치 확인
docker --version
'Docker' 카테고리의 다른 글
Docker 이미지 생성 및 Save&Load 와 Export&Import (0) | 2021.07.07 |
---|---|
Docker Volume 공유 사용하기 (0) | 2021.07.07 |
Docker 명령어 실습 (3) (0) | 2021.07.07 |
Docker 명령어 실습 (2) (0) | 2021.07.07 |
Docker 명령어 실습 (1) (0) | 2021.07.07 |