2021.11.04 TIL
Docker
Abstract
가상화 방식 | 컨테이너 |
---|---|
출처 : 얄코 docker
(1) docker 사용 이유
-
이전의 가상화방식인
하이퍼바이저(Hypervisor)
의 비효율성하이퍼바이저(Hypervisor)
은 이전에 하나의 호스트에 여러 개의 OS를 생성해 사용하는 방식이었다.- 하이퍼 바이저에 의해 생성되고 관리되는 OS를
Guest OS
라고 부른다. 각 Guest OS는 다른 OS들과 완전히 독립된 공간과 시스템 자원(HW)을 할당받아 사용한다. (ex.VirtualBox, VMware) - 하지만 일반 호스트에 비해 성능 손실이 발생했다. 왜냐하면 시스템 자원을 가상화하고 독립된 공간을 생성하는 과정 모두 하이퍼바이저를 거쳐야 했기 때문이다. 전체 시스템 자원을 일부 독립적으로 할당받아 사용하기 때문에 호스트OS에 비해 성능이 떨어진다는 이야기인 것 같다.
- 가상머신은 Guest OS에서 사용하는 library, kernel 등 모두 포함시켜 이미지로 사용하기 때문에 이미지 사이즈가 커 배포에 부담스러운 단점이 존재한다.
- 하이퍼 바이저에 의해 생성되고 관리되는 OS를
출처 : Nakivio
(2) 도커의 장점
-
Application의 개발과 배포가 편해진다.
- 도커 컨테이너는 호스트 OS에 실행되는 격리된 공간이다. 즉,
독립된 개발 환경을 보장
받을 수 있다. 이 말은 컨네이너 내부에서 수많은 소프트웨어를 설치하고 설정 파일을 수정해도 호스트 OS에 영향을 끼치지 않는다는 말이다.
- 도커 컨테이너는 호스트 OS에 실행되는 격리된 공간이다. 즉,
-
여러 어플리케이션의
독립성과 확장성
이 높아진다.어려 모듈을 독립된 형태로 구성
하기 때문에 언어에 종속되지 않고 변화에 빠르게 대응할 수 있다. 독립된 모듈 형태를다른 모듈과의 의존성이 낮아 관리가 쉬워지는 장점
이 있다.
(만약 의존성이 있다면 A 모듈 수정할 때, B모듈도 수정해야 하는 번거로움이 수반된다.)
수평 확장
에 이점이 있다. 웹 서버 컨테이너만을 Scale Out시켜 부하를 분산 시ㅋㄹ 수 있다.
Set up the repository (In Ununtu 20.04)
apt-get update & apt-get upgrade
apt-get update
: 운영체제에서 사용 가능한 패키지들과 그 버전에 대한 정보를 업데이트하는 명령어.
(설치되어 있는 패키지를 최신으로 업데이트하는 것이 아닌 설치 가능한 리스트를 업데이트하는 것)apt-get upgrade
: 운영체제에 apt-get install 명령으로 설치한 패키지들을 최신 버전으로 업그레이드하는 명령어
- 필수 패키지 설치
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
- GPG Key 인증
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
-
docker repository 등록
- apt source에 도커 저장소 추가
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
- 도커 설치
sudo apt-get update && sudo apt-get install docker-ce docker-ce-cli containerd.io
- 시스템 부팅 시, docker 실행 명령어
sudo systemctl enable docker && service docker start
- systemctl : systemd(system daemon)은 전통적으로 Unix 시스템이 부팅후에 가장 먼저 생성된 후에 다른 프로세스를 실행하는 init 역할을 대체하는 데몬을 작동시키는 util
system enable
: enable 로 설정하면 부팅시 자동 시작
TCP/IP 강의 정리
Reference
-
docker vs kubernates : https://www.nakivo.com/blog/docker-vs-kubernetes/
-
docker와 VM : https://medium.com/@darkrasid/docker%EC%99%80-vm-d95d60e56fdd
-
Ubuntu 20.04 docker 설치하기 : https://blog.dalso.org/linux/ubuntu-20-04-lts/13118
-
[얄코] 가장 쉽게 배우는 도커 : https://www.youtube.com/watch?v=hWPv9LMlme8&t=307s
-
TCP/IP 강의 영상 : https://www.youtube.com/watch?v=65h9uxHKGPk
Author And Source
이 문제에 관하여(2021.11.04 TIL), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@pbg0205/2021.11.04-TIL저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)