티스토리 뷰
도커란?
-컨테이너 기반으로 작동하는 오픈소스 가상화 플랫폼으로 물리적 자원인 하드웨어를 효율적으로 활용 하기 위해 하드웨어 위에 가상의 머신을 생성하여 데이터, 응용 프로그램등을 호스트 환경과 격리 시켜 빠르게 구축,테스트, 배포 할 수 있는 소프트웨어입니다
즉, 호스트 컴퓨터의 OS의 기능은 그대로 사용하지만, 프로세스 공간을 격리해 독립된 환경을 만들어 하드웨어를 효율적으로 활용하는 기술입니다.
도커가 필요한 이유
- 하드웨어 자원 조정 어려움
- 도커 없이 물리적 컴퓨터에 서버를 구축한다고 했을 시, 서버 컴퓨터 OS위에 프로그램을 올려 실행을 합니다. 이렇게 서버 프로그램을 하나 올려서 사용할 시에, 프로그램의 필요 성능에 맞게 직접 하드웨어를 구축하기 어려워 하드웨어의 자원의 부족,낭비 현상이 일어납니다.
- 프로그램 실행 환경 구축 어려움
- 서버 컴퓨터 OS위에 프로그램을 여러개 올려 서버를 구축할 시, 각 프로그램에 맞게 라이브러리, 언어 버전 등의 환경을 구축 해야 합니다. 하나의 OS위에 올리는 것이기 때문에 최대 하나의 환경밖에 구축을 할 수 없습니다.
- 프로그램간 자원 충돌 가능
- 프로그램간 디렉터리 설정이 중복되는 경우가 있을 경우, 서로 같은 파일을 건드려 자원 충돌이 발생할 수 있습니다.
도커의 특징
- 독립적인 공간
도커는 컨테이너를 이용해 독립적인 환경을 구축하기에, 이 컨테이너 안에 서버 프로그램과, 프로그램 실행시에 필요한 환경들의 데이터가 들어가 있으며, 이 컨테이너를 기반으로 한 OS에서 여러개의 독립적인 환경을 구축할 수 있습니다. - 간편한 환경구축
이미지를 이용해 컨테이너를 생성하는데, 환경이 구축된 이미지를 도커 허브에서 다운받아 사용할 수 있어, 환경구축이 매우 간편하며, 또한 수정이 쉽습니다. - 경량성 (용량 가벼움)
컨테이너는 가상화 기술을 사용하지만 가상 머신들와 다르게 간이 운영체제(커널없는 운영체제 일부)가 들어갑니다. 따라서 전체 운영체제가 들어가지 않기 때문에 이미지의 크기가 작아져 더 적은 메모리와 저장소를 사용합니다. - 서버 환경 공유 용이
도커 허브를 통해 컨테이너를 이미지화 해서 사용자들에게 공유할 수 있기에, 다른 곳으로 쉽게 내 서버를 이동시킬 수 있습니다.
도커 구성도
- 도커 허브
깃허브와 유사하게 도커 이미지를 저장하고 공유하기 위한 클라우드 기반의 서비스입니다.도커 허브를 사용하여 이미지를 PUSH, PULL하여 공유 및 관리할 수 있습니다. - 도커 엔진
- 컨테이너 생명주기 관리
컨테이너들을 생성, 시작, 중지, 재시작, 삭제 하며 컨테이너들을 모니터링하고 로그 관리를합니다. - 이미지 관리
도커 이미지를 빌드, 저장, 삭제, 수정합니다. 도커 이미지는 로컬에서 가져오거나, 도커허브에서 가져올 수 있습니다. - 네트워크 관리
컨테이너 내부 및 컨테이너 간의 네트워킹을 관리합니다. 다양한 네트워크 모드를 설정할 수 있습니다. - API 제공
API를 제공하여 사용자가 직접 도커 엔진을 활용해 도커를 관리 할 수 있게 합니다.
이는 CLI에서 내부적으로 사용됩니다. - OS 연동
리눅스 커널을 활용해 호스트 컴퓨터와 각각의 컨테이너들을 서로 연결합니다. 이를 통해 호스트 컴퓨터에 여러개의 가상 컨테이너가 존재할 수 있습니다.
- 컨테이너 생명주기 관리
- 컨테이너
이미지를 바탕으로 실행되는 하나의 인스턴스로, 호스트컴퓨터 내부에서 하나의 독립적인 실행환경을 가집니다.
즉, 호스트 컴퓨터에서 프로세스, 파일시스템,네트워크등의 한부분을 독립적으로 쓰는 것 입니다. - 이미지
컨테이너 실행에 필요한 모든 것을 포함하는 파일입니다. 여기에 코드,런타임, 라이브러리, 환경변수, 설정파일 등을 포함합니다. 이미지는 로컬 저장소나, 도커 허브에서 공유 및 저장 할 수 있습니다.
'클라우드' 카테고리의 다른 글
도커 컴포즈(Docker Compose) (0) | 2023.09.26 |
---|---|
도커 컨테이너 개조 (0) | 2023.09.12 |
도커 데이터베이스 연동과 LAMP스택 (0) | 2023.09.11 |
도커 네트워크(Network)에 대해서 (0) | 2023.09.11 |
도커 명령어 + 컨테이너 관리 (0) | 2023.09.10 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- JPA
- 메세지큐
- 스프링
- 데이터
- sql
- 자동화
- 자바
- 깃허브
- 포트포워딩
- 보안
- 문법
- 배포
- 인공지능
- 테이블
- 쿼리
- 서버
- 클라우드
- 소프트웨어공학
- 컨테이너
- 컴퓨터구조
- 깃
- DB
- 네트워크
- 데이터베이스
- 파인튜닝
- IP주소
- 프로토콜
- 도커
- 웹소켓
- nat
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함