Docker 정리

김민태·2022년 5월 12일
0

참고자료 : https://www.youtube.com/watch?v=LXJhA3VWXFA

Docker vs VM

  • VM은 각 virtual machine에 OS가 설치됨, 무겁다
  • 반면 Docker은 기본 단위가 되는 Container들이 Docker Engine 위에서 돌아가기 때문에
    overhead를 줄일 수 있음.

Docker의 3대 요소

Dockerfile

Container을 만드는 레시피.

  • 필요한 파일, dependency, env variable, script 포함 가능

image

필요한 application의 환경을 snapshot 찍은 개념.

  • OOP의 Class로 비유할 수 있음.

container

우리 application의 image를 구동해볼 수 있는 것.

  • OOP의 Class를 통해 만들어낸 instance로 비유 가능.

동작 과정

  1. 로컬 & 서버에 docker 설치
  2. 로컬에서 작업한 Dockerfile을 Image로 빌드.
  3. Container Registry(Dockerhub, AWS 등등)에 push
  4. server에서 pull을 한 후 구동

React, nginx, Node.js, MySQL

React & nginx

리버스 프록시

nginx 설정을 통해 한 EC2 computer 내에서 여러 docker container을 통해 여러 웹페이지를 호스팅할 수 있다.

참고: 리버스 프록시 https://zionh.tistory.com/20, https://webisfree.com/2018-01-06/nginx%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC-%EB%A9%80%ED%8B%B0-%EB%8F%84%EB%A9%94%EC%9D%B8-%EC%97%B0%EA%B2%B0%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95

  • SSL
    AWS ELB의 443포트에 해당 도메인의 SSL 인증서 추가.

Node.js

MySQL

volume을 이용하여 기억되어야 할 내용을 로컬과 container 사이에 동기화시킨다.
https://woonizzooni.tistory.com/entry/Docker-mysql-%EC%84%A4%EC%B9%98-DB%EC%83%9D%EC%84%B1-%ED%85%8C%EC%9D%B4%EB%B8%94%EC%83%9D%EC%84%B1-%EC%98%88%EC%8B%9C

0개의 댓글