SW Engineering/DevOps, SRE

Docker Orientation and Setup

SungWookKang 2019. 3. 26. 03:06
반응형

Docker Orientation and Setup

 

·         Version : Docker

 

Docker Concepts

Docker 개발자 시스템관리자가 컨테이너를 사용하여 응용 프로그램을 개발, 배포 실행하기 위한 플랫폼이다. Linux 컨테이너를 사용하여 응용 프로그램을 배포하는 것을 컨테이너화(containerization) 라고 한다. 컨테이너는 새롭지는 않지만 응용 프로그램을 쉽게 배포하는데 사용된다.

 

컨테이너의 장점

·         유연성(Flexible) : 복잡한 애플리케이션도 컨테이너화 있다.

·         경량(Lightweight) : 컨테이너는 호스트 커널을 활용하고 공유한다.

·         교환 가능(Interchangeable) : 업데이트 업그레이드를 즉시 배포 있다.

·         Portable : 로컬에 구축하고, 클라우드에 배포하고 어디서나 실행 있다.

·         확장성(Scalable) : 자동으로 컨테이너 복제본을 늘리고 배포할 있다.

·         Stackable : 서비스를 스택처럼 세로로 쌓을   있다.

 

 

Images and Containers

컨테이너는 이미지를 실행한다. 이미지는 응용 프로그램을 실행하는데 필요한 모든 것을 포함하는 실행 가능한 패키지 이다. (코드, 런타임, 라이브러리, 환경 변수 구성 파일 )

컨테이너는 이미지의 런타임 인스턴스이다. 이미지가 실행될 메모리에 저장된다. (, 상태가 있는 이미지 또는 사용자 프로세스). 실행중인 컨테이너 목록을 docker ps 명령으로 있다.

 

Containers and virtual machines

컨테이너는 기본적으로 Linux에서 실행되며 호스트 시스템의 커널을 다른 컨테이너와 공유한다. 뜻은 다른 실행파일보다 많은 메모리를 사용하지 않고 개별 프로세스를 실행하여 가볍게 만든다.

가상컴퓨터(VM) 하이퍼바이저를 통해 호스트 리소스에 대한 가상 액세스 권한을 가진 완전한 게스트 운영체제를 실행한다. 일반적으로 VM 대부분의 응용 프로그램에 필요한 것보다 많은 리소스가 필요하다.

                 

 

Prepare Docker environment

Docker Community Edition(CE) 또는 Enterprise Edition(EE) 설치 있다. Kubernetes 통합 환경은 Mac(17.12 Edge 이상), Windows (18.02 Edge 이상)에서 사용할 있다.

·         Install Docker  : https://docs.docker.com/install/

 

 

Test Docker Version

1.       Docker 실행되고 있는 버전을 확인한다.

docker –version

 

 

2.       설치된 Docker 대한 자세한 내용을 확인한다. (권한 오류를 방지하려면 sudo 사용하거나 사용자를 docker 그룹에 추가한다.)

docker info

 

 

 

Test Docker installation

1.       간단한 Docker 이미지 hello-world 실행하여 설치가 제대로 작동하는지 테스트한다.

docker run hello-world

 

 

2.       로컬에 다운로드한 hello-world이미지를 확인한다.

docker images

 

 

3.       생성된 컨테이너를 확인한다.  실행 중이지 않은 컨테이너를 확인하려면 –all 옵션이 필요 하다.

docker container ls --all

 

 

 

Recap and cheat sheet

## List Docker CLI commands

docker

docker container --help

 

## Display Docker version and info

docker --version

docker version

docker info

 

## Execute Docker image

docker run hello-world

 

## List Docker images

docker image ls

 

## List Docker containers (running, all, all in quiet mode)

docker container ls

docker container ls --all

docker container ls -aq

 

 

Conclusion

컨테이너화는 CI/CD 매끄럽게 만든다.

·         응용프로그램에는 시스템 종속성이 없다

·         업데이트를 분산 응용프로그램의 모든 부분에 푸시 있다.

·         자원 밀도를 최적화 있다.

Docker 사용하면 애플리케이션을 확장하면 과도한 VM 호스트를 실행하지 않고 새로운 실행 파일을 빠르게 생성할 있다.

 

 

[참고자료]

https://docs.docker.com/get-started/

 

 

2018-12-13 / Sungwook Kang / http://sqlmvp.kr

 

 

get startedsetuporientationquickstartintroconceptscontainers

반응형

'SW Engineering > DevOps, SRE' 카테고리의 다른 글

Docker Stack  (0) 2019.03.26
Docker Swarms  (0) 2019.03.26
Docker Services  (0) 2019.03.26
Build an image and run it as one container  (0) 2019.03.26
Docker란 무엇인가?  (0) 2019.03.26