수진개발서
article thumbnail

Docker란?

Go언어로 작성된 리눅스 컨테이너 기반으로 하는 오픈소스 가상화 플랫폼입니다.

컨테이너 단위로 소프트웨어를 제어하며, 이를 통해 가상화보다 효율적이고 쉽게 새로운 가상 공간을 만들 수 있습니다.

컨테이너의 구축, 배포, 복사가 가능하고 다른 환경으로의 이동성이 유연하며, 프로그램 관리를 보다 쉽게 할 수 있습니다.
사용자가 원하는 대로 백엔드 프로그램, 데이터베이스 서버, 메세지 큐 등 어떤 애플리케이션으로도 컨테이너로 추상화할 수 있고, 사내서버, 클라우드에 배포하여 사용할 수 있습니다.

VM, Vbox를 쓰면 되지 않은가?

- 이것은 컨테이너의 개념을 제대로 이해하지 못했기 때문에 생기는 의문입니다.

docker 가상화 플랫폼 vs VM가상화 플랫폼

VM같은 경우에는 OS위에 가상화를 시키기 위한 Hypervisor엔진 그리고 그 위에 다시 OS를 올리게 됩니다.

반면에, Docker은 엔진 위에 Application 실행에 필요한 바이너리만 올라가게 됩니다.

Docker와 VM 성능비교

이처럼 2번 OS가 올라가는 VM은 그만큼 독립적으로 구별될 수 있지만 무겁다는 단점이 있습니다.

하지만 Docker 컨테이너를 사용하면 Host OS가 사용하는 자원을 분리하여 커널을 공유하여 가볍고 성능의 효율을 높일 수 있습니다.

 

그래서 위와같이 Docker와 VM의 성능을 비교한 결과 확연한 차이를 보실 수 있습니다.

이러한 도커의 엔진은 리눅스의 cgroup과 리눅스 네임 스페이스를 통해서 만들어졌습니다.

해당 내용은 따로 공부해서 포스팅 하도록 하겠습니다.

 

하지만 무조건 컨테이너 기반이 뛰어나다는것은 아닙니다.

각각의 장단점이 있으니 목적에 맞는 가상환경을 만드시길 바랍니다.

Docker 설치하기

ubuntu 20.04 에 Docker을 설치해보도록 하겠습니다.

repository 설정

apt package를 업데이트하고 HTTPS를 통해 REPOSITORY를 이용하기 위해 package들을 설치해줍니다

sudo apt-get update
sudo apt-get install \
    ca-certificates \
        curl \
        gnupg \
        lsb-release

Docker의 Official GPG Key를 등록

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

stable repository를 등록

sudo add-apt-repository --yes \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"`

docker Engine 설치

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

Docker 설치 스크립트

위의 설명드린 명령어들로 스크립트를 만들어서 쉽게 Docker을 설치하실 수 있도록 하였습니다.
아래의 명령어를 사용하여서 설치하시면 됩니다.

https://github.com/sujin-park0607/Batch-File/tree/main

 

GitHub - sujin-park0607/Batch-File: docker 다운로드 스크립트

docker 다운로드 스크립트. Contribute to sujin-park0607/Batch-File development by creating an account on GitHub.

github.com

sudo su - 
mkdir git
cd git
git clone https://github.com/sujin-park0607/Batch-File.git
cd Batch-File
sh docker_download.sh

 

 

Reference

https://shanepark.tistory.com/237

 

Ubuntu 20.04 LTS ) Docker 설치하기

Intro Docker는 제가 회사에서 사용하는 노트북의 OS를 Windows 에서 Ubuntu 로 변경하게 된 트리거 였습니다. Docker를 사용하면 정말 편하게 격리된 컨테이너들을 구성해 가상화의 장점을 정말 잘 살릴

shanepark.tistory.com

https://github.com/Kyeongrok/docker_minikube_kubectl_install

 

GitHub - Kyeongrok/docker_minikube_kubectl_install

Contribute to Kyeongrok/docker_minikube_kubectl_install development by creating an account on GitHub.

github.com

https://www.youtube.com/watch?v=ePpiEy_C_jk&list=PLnIaYcDMsSczk-byS2iCDmQCfVU_KHWDk&ab_channel=%EC%9E%AC%EC%A6%90%EB%B3%B4%ED%94%84

'코딩 > AWS' 카테고리의 다른 글

AWS EC2에 Docker에 MySql 띄우기  (2) 2023.07.16
[AWS]AWS EC2로 개발서버 만들기  (0) 2023.04.09
profile

수진개발서

@sujin_park0607

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!