본문 바로가기

Dev

[Linux] Docker 설치하기 - 도커에서 TorchServe 모델 배포 (1)

기존에 Flask 로 모델 배포를 하고 있었는데,

효율화를 위해 Docker 와 TorchServe 를 사용하여 모델 배포를 할 예정

 

각각 설정해야 할 것도 많고 기존에 gunicorn 과 엮어서 서빙했기 때문에

차근차근 단계별로 진행할 예정이다.

 

 


Ubuntu 22.04 도커 설치하기

공식문서는 여기

 

0. OS requirements (05월 22일)

 

  • Ubuntu Lunar 23.04
  • Ubuntu Kinetic 22.10
  • Ubuntu Jammy 22.04 (LTS)
  • Ubuntu Focal 20.04 (LTS)
  • Ubuntu Bionic 18.04 (LTS)

compatible 한 버전의 우분투를 사용 중인지 확인

 

도커를 설치할 수 있는 방법은 여러가지가 있지만, 여기선 apt repository 로 설치

 

1. repository 설정

 

1-1. apt package index 업데이트하고 HTTPS를 통해 repository 를 사용할 수 있는 패키지 설치

 

sudo apt-get update
sudo apt-get install ca-certificates curl gnupg

 

1-2. Docker의 official GPG key 추가

 

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

 

1-3. 아래 명령어를 통해 repository 설정

 

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

 

2. Docker Engine 설치

 

2-1. apt package index 업데이트

 

sudo apt-get update

 

2-2. 가장 최신 버전의 Docker Engine 과 Docker Compose 설치

 

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

 

만약 원하는 버전이 별도로 있다면

설치 가능한 버전을 확인하고

 

# List the available versions:
apt-cache madison docker-ce | awk '{ print $3 }'

5:24.0.0-1~ubuntu.22.04~jammy
5:23.0.6-1~ubuntu.22.04~jammy
<...>

 

원하는 버전을 설정하여 설치하면 된다

 

VERSION_STRING=5:24.0.0-1~ubuntu.22.04~jammy
sudo apt-get install docker-ce=$VERSION_STRING docker-ce-cli=$VERSION_STRING containerd.io docker-buildx-plugin docker-compose-plugin

 

3. 설치확인

 

hello-world 이미지를 실행시켜 제대로 설치되었는지 확인

 

sudo docker run hello-world

 

위 명령어를 실행시키면 테스트 이미지를 다운받고 실행시켜준다

 

Hi!

 

이런 메세지가 나오면 설치 끝!

 


 

번외로 매번 docker 명령어를 입력할 때 마다 sudo 를 붙이는게 번거롭기 때문에 

한 번 설정해두면 편리하게 사용할 수 있다.

 

1. 도커 그룹생성

 

sudo groupadd docker

 

2. 도커 그룹에 유저 추가

 

sudo usermod -aG docker ${USER}

 

3. 도커 재시작

 

sudo service docker restart

 

4. 현재 사용자 로그아웃 및 재로그인 

 

# 루트 사용자로 변경
sudo su - 

# 기존 사용자로 변경
su - ${USER}

 

5. 확인

 

docker ps

 

permission denied 어쩌구 저쩌구 하는 에러메세지 안나오면 성공!