포트폴리오 Server 도커로 띄우기 1

오성민·2022년 11월 11일
0

포트폴리오

목록 보기
3/4
post-thumbnail

개인 프로젝트를 진행하면서 프론트를 배포하는 방법으로는 github page를 사용했지만 백을 배포하는 방법으로는 무엇으로 사용을 해야하나 했다.
그래서 집에 있는 라즈베리파이에 도커를 깔고 도커를 이용해서 서버를 띄우기로 했다.
도커를 사용하기 전에 이론을 먼저 정리하기로 했다.

Docker

docker는 리눅스의 응용 프로그램들을 프로세스 격리 기술들을 사용해 컨테이너로 실행하고 관리하는 오픈 소스 프로젝트이다. 컨테이너는 운영체제 커널을 공유하지만, 그 외의 경우 서로 격리되어 실행되는 작고 경량의 실행 환경이다.
도커에 의해 개발자가 소프트웨어를 패키징 해 ‘한번 구축하면 어디서나 실행할 수 있는(build once and run anywhere)’ 것이 어느 때보다 더 쉬워졌다.

보통은 docker와 같이 얘기를 하는 것이 쿠버네티스이다.

Kubernetes

kubernetes는 docker와 유사하게 응용 프로그램들을 컨테이너라는 유닛으로 격리하여 실행하는 플랫폼이다.

Docker VS Kubernetes

  • 컨테이너를 하나만 띄워서 사용 => docker
  • 여러 개의 컨테이너를 사용 => kubernetes

이러한 차이가 있다.
정리하면 도커는 '이미지를 컨데이너에 띄우고 실행' 함
쿠버네티스는 '여러 개의 컨테이너를 서비스 단위로 관리' 함

이렇게 컨테이너를 관리하는 플랫폼이라는 것은 동일하지만 나는 현재 배포를 해도 트래픽이 많지도 않고, 서비스가 크지도 않고 컨테이너를 여러 개를 사용할 것 같지가 않아서 도커를 사용하도록 한다.

Container

컨테이너는 애플리케이션을 실행하는데 필요한 특정 버전의 프로그래밍 언어 런타임 및 라이브러리와 같은 종속 함옥과 코드를 함께 포함하는 경량 패키지이다.
image를 실행한 상태이다.

Container Image

도커의 컨테이너에는 이미지라는 개념이 존재한다.
이미지는 프로그램을 실행에 필요한(컨테이너를 생성에 필요한) 모든 실행 파일의 묶음이다. 예를 들어서 mysql 이미지라면 mysql을 실행하기 위해서 필요한 모든 것이다.
이미지에는 실행 파일 뿐만 아니라 실행에 필요한 모든 정보도 포함되어있다.

Container Layer

파일이 추가되면 파일을 바꾸거나 이미지를 바꾸는 것이 아니라 기존에 존재하는 이미지에 덮어쓰는 개념을 적용한다고 하는데 이를 layer라고 한다.

profile
풀스택을 지향하는 개발자

0개의 댓글