공부블로그
[Docker] 정의 및 원리 본문
21/07/09
참고 사이트
◎ 배운점
- Docker 정의
리눅스 컨테이너로 애플리케이션을 컨테이너라는 가상공간에 설치하여 관리하는 것
- 원리
설치 환경 제작 > 이미지의 형태로 저장 > Docker Hub에 업로드하여 공유 + 다운 가능(in 컨테이너)
* 개발 환경을 여러 프레임워크를 사용하는 경우가 많다. 따라서 이미지를 서로 유기적으로 연결하여 동작하도록 명령어를 제공하며, 연결된 상태를 문서 형태(Docker file)로 저장한다.
- 사용 예
1. 서버 a에서 서버 b로 옮기는 경우
2. 서버 a 이외 다른 서버를 추가시키는 경우 + 서버 b, 서버 c
3. 한 서버에서 다른 실행 환경을 필요로 하는 서비스들을 제공할 때
* 가상 환경을 사용한다면 아래와 같이 각기 다른 OS에 서비스를 제공해야 한다.
게스트 OS 1 > 서비스1
게스트 OS 2 > 서비스2
게스트 OS 3 > 서비스3
- 가상환경과 비교
가상 환경은 한정된 HW를 게스트 OS가 독립적으로 나눠 사용하기 때문에 호스트 OS에서 구동하는 환경만큼 효과를 낼 수 없다. 커널(cpu, 메모리 등 이런 요소를 제어하는 프로그램)게스트 OS끼리 똑같은 Lib 등 을 사용한다고 해도 다 각자 설치를 해줘야한다는 단점이 있다.
도커는 호스트의 커널을 같이 사용하고 이미지의 형태로 저장해서 도커 엔진 위에서 돌린다.
요약하자면 배포가 쉬워지고, 메모리 절약
Comments