MLOps

도커와 쿠버네티스-1

Lagom92 2024. 9. 5. 15:56

 

이 글은 패스트캠퍼스의 '머신러닝 서비스 구축을 위한 실전 MLOps' 강의를 보고 작성한 내용이다.

 

도커와 쿠버네티스

  • Containerization 기술 관련 도구 중 하나인 도커
  • Container Orchestration 기술 관련 도구 중 하나인 쿠버네티스

 

Containerization: 컨테이너화 하는 기술

Container: 격리된 공간에서 프로세스를 실행시킬 수 있는 기술

 

도커 설치 및 기본 명령어

 

Virtualbox & Ubuntu

강의에서는 가상머신(VM)을 이용하여 Ubuntu 환경을 먼저 만든 후 그 위에 docker를 설치함

 

VM 설치 실패

  • 현재 Mac M1이나 M2에서는 VirtualBox를 직접 실행할 수 없다.
  • 테스트 버전의 VM을 설치할수 있긴 하지만 몇개의 블로그를 보면 결국 사용 안하는것을 추천하고 있다.

 

 

VM 설치 이슈로 인해서 Docker Desktop을 설치함

 

Docker 설치

 

정상 설치 확인

  • docker container를 실행시켜 정상적으로 설치되었는지 확인한다.
docker run hello-world

 

Docker 기본 명렁어

Docker pull

  • Docker image repository 부터 Docker image를 가져오는 명령어
docker pull --help

 

예시)

docker pull ubuntu:18.04

 

Docker images

  • 로컬에 존재하는 docker image 리스트를 출력하는 명령어
docker images --help

 

예시)

docker images

 

Docker ps

  • 현재 실행중인 도커 컨테이너 리스트를 출력하는 명령어
docker ps --help

 

예시)

docker ps

docker ps -a

 

Docker run

  • 도커 컨테이너를 실행시키는 명령어
  • 여러 옵션이 있음, 추후 자세하게 설명 예정임
docker run --help

 

예시)

docker run -it --name demo1 ubuntu:18.04 /bin/bash
  • -it : -i 옵션 + -t 옵션
    • 컨테이너를 실행시킴과 동시에 interactive한 터미널로 접속시켜주는 옵션
  • —name: name
    • 컨테이너 id 대신 구분하기 쉽도록 지정해주는 이름
  • /bin/bash
    • 컨테이너를 실행시킴과 동시에 실행할 커맨드로 /bin/bash 는 bash 터미널을 사용하는것을 의미한다

 

Docker exec

  • 도커 컨테이너 내부에서 명령을 내리거나 내부로 접속하는 명령어
docker exec --help

 

예시)

docker run -it -d --name demo2 ubuntu:18.04
docker ps

docker exec -it demo2 /bin/bash
  • -d 옵션: 백그라운드에서 실행시켜서 컨테이너에 접속 종료를 하더라고 계속 실행 중이 되도록 하는 커맨드

 

Docker logs

  • 도커 컨테이너의 log를 확인하는 명렁어
docker logs --help

 

예시)

docker run --name demo3 -d busybox sh -c "while true; do $(echo date); sleep 1; done"
  • 1초에 한번씩 현재 시간을 출력함
docker logs demo3

docker logs demo3 -f
  • -f 옵션: 계속 watch 하며 출력

 

Docker stop

  • 실행 중인 도커 컨테이너를 중단시키는 명령어
docker stop --help

 

예시)

docker stop demo3

 

Docker rm

  • 도커 컨테이너를 삭제하는 명령어
docker rm --help

 

예시)

docker rm demo1

주의사항: 현재 실행중인 컨테이너(demo2)의 경우, rm 으로 삭제하려고 할 경우 Error가 발생함

  • docker stop으로 정지를 한 후 삭제 가능함

 

Docker rmi

  • 도커 이미지를 삭제하는 명령어
docker rmi --help

 

예시)

docker images

docker rmi bubybox