본문 바로가기

기타/기타 특강

도커(docker)란?

728x90

도커는 애플리케이션을 개발, 배송 및 실행하기 위한 개방형 플랫폼이다. 도커를 사용하면 애플리케이션을 인프라에서 분리할 수 있어 소프트웨어를 빠르게 제공할 수 있다. 도커를 사용하면 애플리케이션을 관리하는 것과 동일한 방식으로 인프라를 관리할 수 있다.

도커는 컨테이너라는 느슨하게 격리된 환경에서 애플리케이션을 패키징하고 실행할 수 있는 기능을 제공한다. 컨테이너는 가볍고 애플리케이션을 실행하기 위해 필요한 모든 것을 포함하기 때문에 호스트에 설치된 것이 의존할 필요가 없다. 컨테이너는 애플리케이션을 배포하고 테스트하기 위한 단위입니다. 

도커는 컨테너의 수명 주기를 관리하기 위한 도구와 플랫폼을 제공한다.

도커는 하이퍼 바이저 기반 가상 머신보다 비용 효율적인 대안이다.

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

도커는 클라이언트-서버 아키텍쳐를 사용한다.

클라이언트는 빌드, 실행, 배포하는 무거운 작업을 수행하는 도커 데몬과 통신한다.

컨테이너 : 이미지의 실행 가능한 인스턴스, 호스트 시스템의 다른 모든 프로세스와 격리된 시스템의 샌드박스 프로세스 리눅스에 오래전부터 있었던 커널 네임스페이스, cgroup를 활용한다.

컨테이너 이미지 : 컨테이너의 파일 시스템 등 실행에 필요한 모든 것이 포함된 파일로 환경 변수, 실행할 기본 명령 및 기타 메타데이터 포함.

도커는 go 언어로 작성되었으며 리눅스 커널의 여러 기능을 활용하여 기능을 제공한다. 

격리된 작업 공간을 제공하기 위해 namespaces라는 기술을 사용한다.

 

튜토리얼 1

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

1. 앱의 컨테이너 이미지 빌드하기.

2. 앱 컨테이너 실행하기.

728x90