Korean-American-IT-Association-KAITA/KAITA-Workshop-Solution

스텝 4 - 컨테이너 (Container) 입문 - 도커 (Docker)

Opened this issue · 0 comments

스텝 4 - 컨테이너 (Container) 입문 - 도커 (Docker)

클라우드 (Cloud) 란?

원하는 서비스를 골라서 쉽게 필요한 만큼 쓸수 있는 Utility 개념의 서비스. 기술의 중점은 가상화 (Virtualization) 이라고 해서 하드웨어 리소스를 (CPU, RAM Memory, Disk Memory, Network 등등) 을 소프트웨어로 쪼개서 원하는 사람들에게 N 분의 1 식으로 제공하고 필요하면 더 스케일 해주는 형식

클라우드 종류

image

컨테이너 (Container) 란?

클라우드 (Cloud) 가 점점 발전하다가 가벼운 앱을 돌리기엔 Virtual Macine (VM) 의 운영체재 (Operating System) 는 너무 무거워서 나온 경량형 (lightweight) 기술

Container vs Virtual Machine

image

도커 (Docker) 란?

image

원래 초기 리눅스/유닉스 운영체제에서 컨테이너 기초 개념은 있었는데 그 컨테이너 기술을 엄청 유명하게 만든 회사이자 기술

도커 101

  • Docker CLI - 도커를 쉽게 본인 컴퓨터에서 사용하기 위한 Command 위주의 툴
  • DockerHub - 도커에서 제일 제공하는 다양한 컨테이너가 있는 Image Registry (다른 registry 도 존재함)
  • Docker images - 일종의 “블루프린트” 며 앱 소스코드들과 다른 base image 를 합쳐서 만듬
  • Docker containers - 도커에서 image 를 통해 돌아가는 프로세스

따라 해봅시다 - Docker 돌려보기

스텝 1 - Dockerfile 적기

image

  1. Editor 에서 새로운 파일을 만들고 Dockerfile 이름으로 만듭니다
  2. 코딩 따라하기
FROM node:latest

WORKDIR /app

COPY ["package.json","package-lock.json","./"]

RUN npm install

COPY . .

CMD ["npm","start"]
  1. 파일 저장

스텝 2 - Docker image 만들기

image

  1. 같은 폴더에서 터미널/Powershell 을 열고 다음 command 를 실행 합니다
docker build -t kaita-app:1.0 .
  1. docker images 를 실행 해서 확인 합니다

스텝 3 - Docker 컨테이너로 돌리기

image

  1. 같은 폴더에서 터미널/Powershell 을 열고 다음 command 를 실행 합니다
docker run -p 3000:3000 --detach --rm --name kaita-app kaita-app:1.0
  1. docker ps 를 실행 해서 확인 합니다

  2. 브라우저를 오픈해서 localhost:3000 로 방문합니다

스텝 4 - Docker Clean Up

  1. 같은 폴더에서 터미널/Powershell 을 열고 다음 command 를 실행 합니다
docker ps
  1. 아이디를 카피 한후 docker stop <DOCKER PID> 실행
  2. docker rm <DOCKER PID> 실행
  3. docker images 를 실행 합니다