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의 부답을 덜어주기 위함
- 캐싱 서버
- 비동기 처리
로드 밸런싱 리버스 프록시
쿠버네티스
- 분산 시스템을 탄력적으로 실행하기 위한 프레임워크