FLY_AI: Docker

dongjaee·2024년 1월 11일

SKT_FLY_AI

목록 보기
6/7

Azure

Ubuntu 22.04 LTS 가상환경 설치
*LTS(Long Term Support)장기 지원되는 버전

지정된 프라이빗 키가 있는 VM에 대한 SSH를 바탕으로 터미널에서 실행

  • $ → 일반 user / # → 관리자 user
  • 일반 유저가 진행하면 실행 안됨 → sudo 관리자 권한
  • sudo apt-get update
  • sudo apt-get upgrade

docker

  • Hosted Hypervisor Virtual Machine
    하드웨어에 호스트 OS 가 이미 설치되어 있고, 하이퍼바이저는 OS 위에서 소프트웨어로서 동작
    ->오버헤드가 크고, 호스트 OS의 문제가 전체 게스트 OS에 영향을 줄 수 있음
    ->VM들에 대한 자체적인 관리 기능이 없어, VM 관리를 위한 컴퓨터나 콘솔이 별개로 필요

  • Bare Metal Hypervisor Virtual Machine
    하드웨어 위에서 직접 구동되어 게스트 OS를 관리하고 호스트 OS가 따로 존재하지 않음
    -> 각 게스트 OS의 문제가 다른 게스트 OS에 영향을 주지 않음
    -> 오버헤드가 적음

  • Container
    가상머신은 하드웨어 스택을 가상화합니다. 컨테이너는 이와 달리 운영체제 수준에서 가상화를 실시하여 다수의 컨테이너를 OS 커널에서 직접 구동
    ->오버헤드가 적기 때문에 가볍고 고속으로 작동함

Install Docker Engine on Ubuntu

본격적으로 Docker 실습 진행
설치 가이드는 아래 링크에서 확인 가능하다
https://docs.docker.com/engine/install/ubuntu/

Docker 기본 명령어

~$ sudo docker image                ## 다운로드된 이미지들 확인
~$ sudo docker ps                   ## 현재 실행중인 docker 확인
~$ sudo docker ps -a                ## 전체 기록 확인
~$ sudo docker run                  ## docker 실행 / -it으로 옵션 추가 (linux 터미널로 실행)
~$ sudo docker run -it --name demo1 ubuntu:18.04 /bin/bash
~$ sudo docker run --name demo2 -d busybox sh -c "while true; do $(echo date); sleep 1; done"
~$ sudo docker logs -f              ## log확인
~$ sudo docker rm 컨테이너 이름       ## 컨테이너 제거
~$ sudo docker images               ## docker images 확인
~$ sudo docker rmi 이미지 이름       ## docker image 제거	
  • 옵션 없이 실행 -> 터미널 빠져나오는 순간 해당 컨테이너는 종료
  • docker log 확인 -> -f를 추가하면 실시간 업데이트 확인 가능

Docker Image

  • Docker image
    • 애플리케이션과 dependent한 모든 것을 함께 패키징한 데이터
  • Docker file
    • 사용자가 도커 이미지를 쉽게 만들 수 있도록, 제공하는 템플릿
$ cd $HOME 				## Home 디렉토리로 이동
$ pwd 	  				## 경로 확인
$ mkdir docker-practice ## docker-practice 폴더 생성
$ touch Dockerfile      ## Dockerfile 빈 파일 생성
$ ls                    ## 생성여부 확인

Dockerfile 기본 명령어

vi Dockerfile 혹은 vscode 등 편집기로 Dockerfile 열기

FROM

base image로 어떠한 이미지를 사용할 것인지 명시

COPY

의 파일, 디렉토리 경로에 복사

RUN

명시한 커맨드를 도커 컨테이너에서 실행

Docker Image 저장소

  1. Docker Registry 생성
$ docker run -d -p 5000:5000 --name registry registry
  • 생성한 registry를 바라보도록 tag
$ docker tag my-image:v1.0.0 localhost:5000/my-image:v1.0.0
  
  • registry에 push
$ docker push localhost:5000/my-image:v1.0.0
  1. Docker Hub
$ docker login
  • 이후 방식은 위와 동일

0개의 댓글