Docker

Docker

  • 컨테이너 애플리케이션을 실행하는 기능을 제공하는 플랫폼이다.

기존 가상화 기술(VM)은 Guest OS를 갖고 있기에 무거울 수 밖에 없었다 그런 단점을 보완하고자 나온 것이 Docker이다.

DOCKER 동작 과정

Docker 명령어

docker exec -it <컨테이너 ID="">

컨테이너 중지

docker stop

  • 진행하는 일을 마무리하고 컨테이너를 중지.

docker kill

  • 컨테이너를 바로 중지.

컨테이너 삭제

docker rm <아이디/이름>

  • 해당 컨테이너 삭제.

docker rm ‘docker ps -a -q’

  • 모든 컨테이너 삭제.

한번에 컨테이너, 이미지, 네트워크를 모두 삭제하고 싶다면?

docker system prune

  • 실행중인 컨테이너에는 영향을 주지 않고 도커를 모두 정리할 수 있다.

개발 환경

Docker 만들어보기

이미지 생성 과정

Dockerfile 작성 -> 작성한 파일 Docker Client에 전달 -> 작업을 위해 Docker Server로 전달 -> 이미지 생성 ###

Docker imgae에 이름 부여 docker build -t <docker ID>/<프로젝트 명>:<버전>

해당 docker image의 이름인 docker Id/프로젝트 명으로 실행 가능하다.

volume & COPY

Docker Compose

## WEB Server

  • 정적 파일을 응답

WAS

  • 동적인 처리 후 응답

nginX

개발 환경에서는 개발 서버에 요청이 들어오면 정적 그에 알맞은 정적 파일을 제공하지만 운영 환경에는 개발 서버가 존재하지 않기 떄문에 nginx(웹서버)를 사용한다.

특징

  • 로드 밸런싱을 위함, 비용 절감 및 효율적인 성능을 제공
  • web server의 부답을 덜어주기 위함
  • 캐싱 서버
  • 비동기 처리

    로드 밸런싱 리버스 프록시

쿠버네티스

  • 분산 시스템을 탄력적으로 실행하기 위한 프레임워크

참고 인프런