TY blog

Docker 정리 및 ubuntu 환경에 Docker 설치 본문

클라우드/Docker

Docker 정리 및 ubuntu 환경에 Docker 설치

주짓수하는 개발자 2024. 2. 27. 20:30
1. 용어 정리

 

컨테이너 어떤 환경에서나 실행하기 위해 필요한 모든 요소를 포함 하는 소프트웨어 패키지 
도커 리눅스 컨테이너에 리눅스 어플리케이션을 프로세스 격리기술을 사용하여 더 쉽게 컨테이너로 실행하고 관리할 수 있게 해주는 오픈소스 프로젝트 
하이퍼 바이저 단일 물리적 머신에서 여러 가상 머신을 실행하는 데 사용할 수 있는 소프트웨어
컨테이너 이미지 애플리케이션과 모든 소프트웨어 의존성을 캡슐화 하는 바이너리 데이터

 

2. 가상머신 VS 도커 컨테이너

 

2-1) 가상머신 : 물리적으로 존재하는 컴퓨터가 아닌, 다른 컴퓨터가 만들어내는 가상의 컴퓨터

  •  가상 머신은 완벽한 운영체제를 생성할 수 있다는 장점은 있지만 일반 호스트에 비해 성능 손실이 있으며, 수 기가바이트에 달하는 가상 머신 이미지를 애플리케이션으로 배포하기는 부담스럽다는 단점이 있다.
  • 자원을 가상화하고 독립된 공간을 생성하는 작업은 하이퍼바이저를 반드시 거쳐야 하기 때문에 성능에 손실이 있다.
  • Guest OS를 사용하기 위한 라이브러리, 커널등을 포함하여 용량이 크기 때문에 배포에 문제가 있다.

2-2) 도커 컨테이너 : Docker 컨테이너 이미지는 코드, 런타임, 시스템 도구, 시스템 라이브러리 및 설정 등 애플리케이션을 실행하는 데 필요한 모든 것을 포함하는 경량의 독립 실행형 소프트웨어 패키지

  • 가상화된 공간을 생성하기 위해 리눅스 자체 기능인 chroot, 네임스페이스, cgroup을 사용함으로써  프로세스 단위의 격리 환경을 만들기 때문에 성능 손실이 없다.
  • 가상머신과 달리 커널을 공유해서 사용, 도커 컨테이너에는 라이브러리 및 실행파일만 있어 용량이 작다.
  • 컨테이너를 이미지로 만들었을 때 가상머신보다 빠르며 성능 손실 또한 없어 가상머신의 단점을 보완하기 위해 도커가 탄생했다.
3. ubuntu 환경에서 Docker 설치 명령어 
1. ubuntu apt 패키지 목록 업데이트
sudo apt-get update

2. HTTPS를 통해 외부 저장소 부터 Docker에 필요한 패키지 설치
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common

3. Docker 공식 GPG 키를 다운로드하고 시스템에 추가 (패키지 신뢰할 수 있는지 확인)
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

4. Docker를 다운로드할 공식 저장소를 시스템에 추가 
$(lsb_release -cs)는 현재 Ubuntu 버전의 코드명을 반환하며 우분투 버전에 맞게 설치
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

5. ubuntu apt 패키지 목록 다시 업데이트
sudo apt-get update

6. Docker 엔진, Docker CLI, Containerd 설치 
sudo apt-get install docker-ce docker-ce-cli containerd.io

7. 설치된 docker 버전 확인
sudo docker --version

8. ubuntu에 접속한 사용자를 Docker 그룹에 추가 하기 (Docker 명령을 root 권한을 사용하지 않고 실행가능)
sudo usermod -aG docker #{사용자 이름}

-- 위에 명령어 후 서버 재부팅으로 적용하기

 

4. docker 상태 확인
1. docker 서비스 재시작
sudo systemctl restart docker

2. docker 서비스의 현재 상태 확인 active(running) - 정상 실행
sudo systemctl status docker

3. Containerd 서비스의 현재 상태 확인 active(running) - 정상 실행
sudo systemctl status containerd.service

 

'클라우드 > Docker' 카테고리의 다른 글

docker image container를 관리하기 위한 portainer  (0) 2024.02.28
Comments