Docker #1

OAT·2023년 12월 12일
0

docker

목록 보기
1/2
post-thumbnail

Docker란?

도커 공식 홈페이지

  • Docker is an open platform
  • Docker enables you to separate your applications from your infrastructure so you can deliver software quickly.

홈페이지를 참고하면 도커는 다음과 같이 간단히 설명할 수 있다.

도커는 컨테이너를 기반으로 하는 가상화 도구인데, 즉, 어플리케이션을 컨테이너 단위로 격리하여 실행하고 배포하는 기술이다.

Container란?

컨테이너는 가상화 기술* 중 하나로, 호스트 운영체제 위에 여러개의 격리된 환경울 생성한다.
애플리케이션은 각각의 컨테이너 안에서 실행된다.

*가상화(Virtualization) 기술: 하나의 물리적인 컴퓨터 자원(CPU, 메모리, 저장장치 등)을 가상적으로 분할하여 여러 개의 가상 컴퓨터 환경을 만들어 내는 기술. 이를 통해 물리적인 컴퓨터 자원을 더욱 효율적으로 사용할 수 있으며, 서버나 애플리케이션 등을 운영하는데 있어 유연성과 안정성을 제공.

컨테이너
vm과 달리 container은 하이퍼바이저 대신 컨테이너 엔진을 사용한다.

도커는 리눅스 컨테이너 기반으로, 리눅스 커널의 기능을 사용하여 만들어진다. (리눅스 기반이지만 다른 운영체제에서도 사용할 수 있다.) 애플리케이션을 컨테이너 단위로 격리하여 실행, 배포함으로써 빠르고 손쉽게 빌드, 배포, 관리할 수 있다.

Docker Architecture?

도커 구조
'도커 클라이언트'는 도커와 상호작용하며, 도커 명령어를 사용하면 docker demon으로 보내어 실행하도록 한다.

이제 가장 부피가 큰 '도커 호스트'를 살펴보자.
먼저 docker demond(dockerd)는 도커 엔진의 핵심 구성요소이다. 도커 호스트에서 컨테이너를 관리하고 실행하는 역할을 수행하는데, 컨테이너를 생성, 시작, 중지, 삭제하는 등의 작업이 이에 해당된다. 또 컨테이너 이미지를 관리하고, 외부 이미지를 다운로드 및 빌드하는 작업을 수행한다. 없으면 안되는 존재!

다음으로는 docker image. 이는 도커 컨테이너를 만들기 위한 읽기 전용 템플릿이다.
docker container은 앞서 설명하였듯 애플리케이션을 실행하기 위한 모든 파일과 설정 정보를 포함하는 패키지로, 한 도커 이미지의 실행 가능한 인스턴스가 되겠다.

오른쪽의 docker registries는 도커 이미지들을 관리하고 저장하는 곳이다. 예를들어 도커허브는 alpine, nginx 와 같은 이미지들을 저장하고 있는 디폴트 레지스트리이다. 도커 허브는 누구나 접근 가능한 공개형 저장소이다. 이곳에서 이미지를 pull명령어를 통해 받아와 container로 만들 수 있다.

0개의 댓글

관련 채용 정보