1. Docker란

Docker는 애플리케이션을 개발, 전송 및 실행하기 위한 개방형 플랫폼입니다. Docker를 사용하면 애플리케이션을 인프라에서 분리할 수 있으므로 소프트웨어를 빠르게 제공할 수 있습니다. Docker를 사용하면 애플리케이션을 관리하는 것과 동일한 방식으로 인프라를 관리할 수 있습니다. 코드를 신속하게 배송, 테스트 및 배포하기 위한 Docker 방법론을 활용하면 코드 작성과 프로덕션 환경에서 실행하는 사이의 지연을 크게 줄일 수 있습니다.

 

2. Docker 설치

Install using the repository

시스템에 처음으로 Docker Engine을 설치할 경우 먼저 Docker 저장소를 설정해야 합니다. 그런 다음 저장소에서 Docker를 설치하고 업데이트할 수 있습니다.

apt 패키지 인덱스를 업데이트하고 apt가 HTTPS를 통해 리포지토리를 사용할 수 있도록 패키지를 설치합니다.

Set up the repository

apt 패키지 인덱스를 업데이트하고 apt가 HTTPS를 통해 리포지토리를 사용할 수 있도록 패키지를 설치합니다

$ sudo apt-get update

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

Docker의 공식 GPG 키 추가:

- debian linux

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

- ubuntu linux

sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

 

다음 명령어를 사용하여 저장소를 설정합니다. nightly 또는 test 리포지토리를 추가하려면 아래 명령에서 stable이라는 단어 뒤에 nightly 또는 test(또는 둘 다)라는 단어를 추가합니다.

- debian linux

$ echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

- ubuntu linux

 echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

 

Dokcer Engine 설치

apt 패키지 인덱스를 업데이트하고 최신 버전의 Docker Engine 및 containerd를 설치하거나 특정 버전을 지정하여 설치합니다.

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

 

특정 버전의 Docker Engine을 설치하려면 리포지토리에 사용 가능한 버전을 나열한 다음 다음을 선택하여 설치합니다.
a. 리포지토리에서 사용 가능한 버전 나열:

$ apt-cache madison docker-ce

  docker-ce | 5:18.09.1~3-0~debian-stretch | https://download.docker.com/linux/debian stretch/stable amd64 Packages
  docker-ce | 5:18.09.0~3-0~debian-stretch | https://download.docker.com/linux/debian stretch/stable amd64 Packages
  docker-ce | 18.06.1~ce~3-0~debian        | https://download.docker.com/linux/debian stretch/stable amd64 Packages
  docker-ce | 18.06.0~ce~3-0~debian        | https://download.docker.com/linux/debian stretch/stable amd64 Packages

 

b. 두 번째 열의 버전을 사용하여 특정 버전을 설치합니다(예: 5:18.09.1~3-0~debian-stretch ).

$ sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io

 

hello-world 이미지를 실행하여 Docker 엔진이 올바르게 설치되었는지 확인합니다.

이 명령은 docker 이미지를 다운로드하고 컨테이너를 실행합니다.

$ sudo docker run hello-world

 

docker ps -a 명령어로 다운로드한 이미지를 확인할 수 있다.

$ sudo docker ps -a 

CONTAINER ID   IMAGE         COMMAND    CREATED          STATUS                      PORTS     NAMES
bc2e365fdd8d   hello-world   "/hello"   17 minutes ago   Exited (0) 17 minutes ago             reverent_nash

 

일반 유저로 도커명령어 실행

  1. docker를 사용할 user를 docker 그룹에 추가합니다.(참고 docker를 설치하면 docker group 이 생성됩니다.)
    sudo usermod -aG docker $USER
  2. 추가된 그룹을 적용하기 위해 로그아웃했다가 다시 로그인합니다. 또는 아래와 같이 명령어를 수행하여 변경된 그룹을 적용합니다.
 newgrp docker

 

 

Docker Engine 삭제

Docker 엔진, CLI 및 Containerd 패키지를 제거합니다.

$ sudo apt-get purge docker-ce docker-ce-cli containerd.io

 

호스트의 이미지, 컨테이너, 볼륨 또는 사용자 지정 구성 파일은 자동으로 제거되지 않습니다. 아래 명령어로 모든 이미지, 컨테이너 및 볼륨을 삭제합니다.

$ sudo rm -rf /var/lib/docker
$ sudo rm -rf /var/lib/containerd

편집된 구성 파일은 수동으로 삭제해야 합니다.

 

 

 

+ Recent posts