docker

productuidev·2022년 3월 3일
0

IT/CS 지식 쌓기

목록 보기
9/24
post-thumbnail

docker란?

  • 서버를 돌리기 위한 환경 구축 (서버 이전, 늘어난 트래픽, 서버 추가하거나 등등)
  • 컨테이너에 기반해 애플리케이션을 구축하는 소프트웨어 플랫폼이다. 컨테이너는 운영체제 커널을 공유하지만, 그 외의 경우 서로 격리되어 실행되는 작고 경량의 실행 환경이다. 컨테이너는 리눅스와 유닉스에서 상당 기간 사용됐다. 그러나 2013년 시작된 오픈소스 프로젝트인 도커가 컨테이너 기술을 보편화하는 데 기여했다. 도커에 의해 개발자가 소프트웨어를 패키징 해 ‘한번 구축하면 어디서나 실행할 수 있는(build once and run anywhere)’ 것이 어느 때보다 더 쉬워졌다.

컨테이너란 무엇인가?

독립형 소프트웨어 단위(self-contained units of software)
도커를 통해 개발자는 하나의 간소한 방식으로 워크로드를 전개하고 복제하고 이동하고 백업할 수 있다. 일련의 재사용이 가능한 이미지를 이용하기 때문에 기존의 방법들보다 워크로드의 이식성과 유연성이 더 높다.

도커 컴포넌트

  • 도커 파일
    각 도커 컨테이너는 도커파일과 함께 시작한다. 이 텍스트 파일은 운영체제, 언어, 환경 변수, 파일 위치, 네트워크 포트, 이를 실행하는 데 필요한 여타 컴포넌트를 포함하는 도커 이미지를 구축할 수 있는 일련의 명령을 제공한다.

  • 도커 이미지(Docker image)
    VM 환경의 스냅샷과 유사한 도커 이미지는 이식 가능하고 읽기 전용의 실행 파일이다. 컨테이너를 생성하기 위한 명령, 그리고 컨테이너가 어떤 소프트웨어 컴포넌트를 어떻게 실행할 것인가에 대한 내역이 담겨 있다.

  • 도커 실행 유틸리티
    도커 실행 유틸리티는 컨테이너를 시작하는 명령이다. 각 컨테이너는 이미지 인스턴스이고, 동일 이미지의 다수의 인스턴스가 동시에 실행될 수 있다.

  • 도커 허브
    도커 허브는 컨테이너 이미지가 저장되고 공유되고 관리될 수 있는 리포지터리이다. 컨테이너에 특화된 깃허브 도커 버전이라고 생각할 수 있다.

  • 도커 엔진
    도커 엔진은 도커의 핵심이다. 컨테이너를 생성하고 실행하는 클라이언트-서버 기술이다. 도커 엔진은 컨테이너를 관리하는 이른바 ‘도커 데몬(Docker daemon)’이라는 장시간 실행되는 데몬 프로세스, 도커 데몬과 프로그램 사이의 통신을 담당하는 API, 명령줄 인터페이스를 포함한다.

  • 도커 컴포즈
    도커 컴포즈는 YAML 파일을 이용하는 명령줄 도구이고, 멀티 컨테이너 도커 애플리케이션을 정의하고 실행한다. 이에 의해 사용자는 사용자의 구성 환경으로부터 모든 서비스를 생성하고 시작하고 정지하고 재구축할 수 있고, 아울러 모든 실행 서비스의 현황 및 로그 출력을 열람할 수 있다.

  • 도커 데스크톱
    이들 제반 컴포넌트는 도커 데스크톱 애플리케이션으로 래핑 된다. 이는 컨테이너화 된 애플리케이션과 마이크로서비스를 구축하고 공유하는 사용자 친화적 방식을 제공한다.

https://www.itworld.co.kr/news/203644

초보자를 위한 도커 안내서

https://subicura.com/2017/01/19/docker-guide-for-beginners-1.html
https://subicura.com/2017/01/19/docker-guide-for-beginners-2.html
https://subicura.com/2017/02/10/docker-guide-for-beginners-create-image-and-deploy.html

profile
필요한 내용을 공부하고 저장합니다.

0개의 댓글