728x90
📌Doker란?
도커는 컨테이너 기반의 오픈소스 가상화 플랫폼이다. 즉 컨테이너의 기술을 활용하는 플랫폼으로 컨테이너의 의미를 아는 게 중요하다.
📌Container란?
격리된 공간에서 프로세스가 동작하는 기술. 프로세스들이 독립되어 있어 가볍고 빠르게 동작한다. CPU나 메모리는 딱 프로세스가 필요한 만큼 추가로 사용하기 때문에 성능적 손실도 거의 없다.
즉, 하나의 서버에 여러개의 컨테이너를 실행하는데 독립적으로 실행되기 때문에 매우 빠르고 가볍다. 새로운 컨테이너를 만드는데 1-2초로 가상머신과 비교할 수 없이 빠르다.
한 서버에 여러개의 컨테이너를 실행할 수 있다.
▶이미지란?
컨테이너 실행헤 필요한 파일과 설정값 등을 포함하고 있는 것. 상태값을 가지지 않고 변하지 않는다.
컨테이너 = 이미지를 실행한 상태, 추가되거나 변한 값은 컨테이너에 저장. 컨테이너가 삭제 되더라도 이미지는 그대로 남아있다.
이미지는 컨테이너를 실행하기 위한 모든 정보를 가지고 있다.
새로운 서버가 추가 되면 미리 만들어 놓은 이미지를 다운 받고 컨테이너만 생성하면 된다.
▶respositiy
📌가상머신과의 차이점
▶VM
가상머신은 하이퍼바이저를 이용해 여러개의 운영체제(OS)를 하나의 호스트에 생성
<단점>
- 모든 시스템을 가상화하고 독립공간을 만드는 과정이 하이퍼바이저를 거치기 때문에 성능 손실 발생
- guest OS를 사용하기 위한 라이브러리, 커널을 포함해서 배포할 때의 이미지가 커지고 무겁고 시간도 오래걸린다.
▶Doker container
별도의 하드웨어 시뮬없이 host OS의 커널을 공유해 격리된 프로세스 실행.
<장점>
- 적은 이미지 크기, 커널을 공유하지 않기 때문에 로딩속도 또한빠르다
- 손실ㄹ이 적다
- 이미지로 같은 환경의 컨테이너를 어디서든 생성 가능하다.
728x90
'열심히 코딩할래 > Linux 해볼까' 카테고리의 다른 글
[Linux] 리눅스 기본 - 출력 명령어, 파일이름으로 찾기 (0) | 2023.05.03 |
---|---|
[Linux] ssh 가상환경으로 리눅스, ubuntu에 Doker 설치하기 (0) | 2023.05.01 |
[Linux] 리눅스 파일 만들기(touch), 이동(mv), 삭제(rm), 복사(cp), 출력(cat) (0) | 2023.04.29 |
[Linux] 리눅스 sudo update, tree 설치하기 파일 구조 보기, 디렉토리 만들기 (0) | 2023.04.29 |
[Linux] 리눅스 쉘(shell)이란? 종류, 쉘 지정하고 변경하기 (0) | 2023.04.29 |