Prj PJ

[리눅스] docker 설치하기

솔헬레나 2023. 5. 19. 16:40

 

이 글은 도커 사이트에서 안내된 내용 중 install을 실행한 기록입니다.

https://docs.docker.com/engine/install/ubuntu/

 

Install Docker Engine on Ubuntu

 

docs.docker.com

 

 

 

 * 설치 OS

- Ubuntu Lunar 23.04

- Ubuntu Kinetic 22.10

- Ubuntu Jammy 22.04 (LTS)

- Ubuntu Focal 20.04 (LTS)

- Ubuntu Bionic 18.04 (LTS)

 

 

1. 이전버전 삭제

오래된 버전을 삭제한다

sudo apt-get remove docker docker-engine docker.io containerd runc

 /var/lib/docker/ 에 저장된 이미지나 컨테이너, 볼륨, 네트워크는 docker 삭제 하더라도 삭제되지않는다.

최신버전으로 설치하기 위해 기존버전을 완전히 삭제하려면 docker 엔진을 완전히 제거야해야한다. (참고 : 링크)

 

2. 설치 

docker를 설치하는 방법은 아래와 같다.

  • Linux용 Docker Desktop과 함께 번들로 제공되는 것을 사용한다.
  • Docker의 apt repositpry에서 Docker Engine을 설정하고 설치한다.
  • 수동으로 설치하고 업그레이드 한다.
  • 스크립트를 사용한다. ( 테스트 및 개발환경에만 권장 됨 )

 

위 방법 중 apt repository를 이용하여 설치해보았다.

레파지토리를 설정한 후에 docker을 설치하고 업데이트 할 수 있다. 

 

1) apt 패키지를 업데이트하고 apt가 https를 통해 저장소를 사용할 수 있도록 패키지를 설치한다.

$ sudo apt-get update

 

$ sudo apt-get install ca-certificates curl gnupg

 

 

2) Docker의 공식 GPG 키 추가하기

$ sudo install -m 0755 -d /etc/apt/keyrings
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
$ sudo chmod a+r /etc/apt/keyrings/docker.gpg

3) 레파지토리(저장소) 설정하기

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

 

4) apt 패키지 목록을 업데이트 한다 

$ sudo apt-get update

 

 

5) Docker Engine, containerd, Docker Compose를 설치

->최신버전으로 설치한다

$ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

 

6) Docker 엔진 설치 성공여부 확인

-> 테스트 이미지인 hello-world를 다운로드하고, 컨테이너에서 실행한다.

컨테이너가 실행되면 확인메시지를 인쇄한다. 

$ sudo docker run hello-world

이 메시지를 생성하기 위해 Docker는 다음 단계를 수행했습니다.1. Docker 클라이언트가 Docker 데몬에 접속했습니다.2. 도커 데몬이 도커 허브에서 "hello-world" 이미지를 가져옵니다.3. Docker 데몬은 해당 이미지에서 다음을 실행하는 새 컨테이너를 생성했습니다. 현재 읽고 있는 출력을 생성하는 실행 파일입니다. 4. Docker 데몬은 해당 출력을 Docker 클라이언트로 스트리밍하여 전송했습니다.

 

 


3. 일반 유저에게 권한추가하기

$ sudo usermod -aG docker $USER
$ sudo gpasswd -a $USER docker
$ sudo reboot

  도커 실행 테스트(sudo 없이)

$ docker run hello-world
$ docker images


4.docker-compose

 

1) docker-compose 설치

$ sudo curl -SL https://github.com/docker/compose/releases/download/v2.17.2/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose


2) 실행 권한 부여

$ sudo chmod +x /usr/local/bin/docker-compose


3) 링크 생성

$ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose


4) 설치된 docker-compost 버전 확인

$ docker-compose --version