VM Ubuntu / Docker 설치

윤동기·2023년 4월 18일
0

Linux

목록 보기
8/9

1. Docker

1.1. Docker란

  • Application을 image로 만들고 Container로 구동하는 기술

Docker는 리눅스의 응용 프로그램들을 프로세스 격리 기술들을 사용해 컨테이너로 실행하고 관리하는 오픈 소스 프로젝트이다. 도커 웹 페이지의 기능을 인용하면 다음과 같다: 도커 컨테이너는 일종의 소프트웨어를 소프트웨어의 실행에 필요한 모든 것을 포함하는 완전한 파일 시스템 안에 감싼다.

  • Client : 도커 Container를 관리하고 실행하기 위해서 Deamon과 상호작용하는 Binary 파일이다.
  • Registry : 도커 Image가 저장되어 있는 장소이다. 대표적으로 Docker Hub가 있다. Registry는 Public Registry와 Private * Registry가 있다.
  • Daemon : Host에 설치되어 도커 Container를 관리하는 daemon 프로세스이다. Client와 상호작용한다.
  • Image : 도커 Daemon을 통해 Container로 실행 가능하도록 필요한 프로그램, 라이브러리, 소스 등이 설치된 파일이다.
  • Container : Image를 실행한 상태이다.

1.2. Image란

Container 를 만드는 데 사용되는 읽기 전용(Read-only) 템플릿

1.3 container란

이미지의 목적에 맞는 파일이 들어있는 파일 시스템과 격리된 시스템 자원 및 네트워크를 사용할 수 있는 독립된 공간이 생성됨

1.4 layer란

Docker 의 이미지를 이용해서 docker run 을 하면 Docker 는 도커가 관리하는 파일 시스템 영역에 이미지를 복사. 복사 후 docker는 이미지의 최상단에 컨테이너 레이어(Container layer) 라고 불리는 하나의 얇은 레이어를 추가하여 컨테이너를 생성. 그리고 사용자에게 유니온 파일 시스템을 이용하여 마치 이러한 여러개의 파일 시스템(Image layer)으로 구성되어 있는 이미지 스택 구조가 하나의 파일 시스템 처럼 보이도록 하게 함

  • layer 장점
    • 기존 이미지에 추가적인 변경이 있을 때, 모두 다시 받는 것이 아닌 해당 파일만 교체 및 추가하기 위해 사용
    • container가 시작되면 docker image 레이어를 참조하고 container 레이어를 생성.
      결과적으로 2종류의 레이어가 생성. 2종류의 레이어는 docker container에 합쳐져 파일 시스템으로 마운트 됨.

2. Docker 설치

$ sudo apt update

#Repository 설정
#apt가 HTTPS Repository를 사용할 수 있도록 해주는 패키지 설치
$ sudo apt-get install apt-transport-https ca-certificates curl software-properties-common -y

#Docker의 공식 GPG 키 추가
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

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

#Docker CE 설치
$ sudo apt-get update && sudo apt-get install -y \
containerd.io=1.2.13-1 \
docker-ce=5:19.03.8~3-0~ubuntu-$(lsb_release -cs) \
docker-ce-cli=5:19.03.8~3-0~ubuntu-$(lsb_release -cs)

$ sudo apt update

#도커 리포지토리에서 사용 가능한 모든 버전 나열
$ sudo apt list -a docker-ce

#패키지 이름 뒤에 =<VERSION>을 추가하여 특정 버전 설치
$ sudo apt install docker-ce=<VERSION> docker-ce-cli=<VERSION> containerd.io
#최신버전 설치시
$ sudo apt-get install docker-ce docker-ce-cli containerd.io

#도커 설치 확인
$ docker version
$ sudo systemctl enable docker
$ sudo systemctl status docker
$ docker run hello-world

#도커 패키지 업데이트되지 않도록 보류
$ sudo apt-mark hold docker-ce

2.1. Docker 제거

도커를 제거하기 전에 모든 용기, 이미지, 볼륨 및 네트워크를 제거하는 것이 좋다.
다음 명령을 실행하여 실행 중인 모든 컨테이너를 중지하고 모든 도커 개체를 제거한다.

$ docker container stop $(docker container ls -aq)
$ docker system prune -a --volumes

$ sudo apt purge docker-ce
$ sudo apt autoremove

profile
꿈꾸는 개발자

0개의 댓글