-
도커와 쿠버네티스-1MLOps 2024. 9. 5. 15:56
이 글은 패스트캠퍼스의 '머신러닝 서비스 구축을 위한 실전 MLOps' 강의를 보고 작성한 내용이다.
도커와 쿠버네티스
- Containerization 기술 관련 도구 중 하나인 도커
- Container Orchestration 기술 관련 도구 중 하나인 쿠버네티스
Containerization: 컨테이너화 하는 기술
Container: 격리된 공간에서 프로세스를 실행시킬 수 있는 기술
도커 설치 및 기본 명령어
Virtualbox & Ubuntu
강의에서는 가상머신(VM)을 이용하여 Ubuntu 환경을 먼저 만든 후 그 위에 docker를 설치함
- https://www.virtualbox.org/wiki/Downloads
- 강의에서는 6.1.26 버전을 설치함, 내컴퓨터에서는 7.0.20 설치함
❗ 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