docker 정리

Hanji·2022년 5월 22일
0
post-custom-banner

엘리님의 "도커 한방에 정리 🐳 (모든 개발자들이 배워보고 싶어 하는 툴!) + 실습"을 보고 일부 내용을 정리한 내용입니다

도커란? 🐳

어플리케이션을 패키징 할 수 있는 툴.
어플리케이션을 구동하는데 필요한 모든 것을 도커 컨테이너 안에 담아놨다.

도커 컨테이너 사용 시 장점👍

  • 어플리케이션을 구동하기 위한 런타임 환경에 필요한 모든것들을 어떤 pc에서도 언제든지 동일하게 구동 가능
  • 다른 pc에서 버전으로 인한 문제 발생 x
  • 다른 pc 환경 설정 및 변경에 대한 번거로움 줄여줌

VM과 도커의 차이🔍

VM

  • 무거운 운영체제 포함
  • 시작하는 데 오래걸림
  • 컴퓨터, 운영체제, infrastructure 리소스를 많이 잡아먹을 수 있음

👉 차이점

  • vm은 운영체제 포함
  • 도커 컨테이너는 운영체제 미포함

vm_vs_container

컨테이너 구동시 컨테이너 엔진 필요
컨테이너 엔진이 host os에 접근해서 필요한 것들을 처리
컨테이너 엔진 중 가장 많이 사용되는게 "도커"

도커의 3대 구성요소! (순서)

도커의 큰그림 : 컨테이너를 만들고, 구동하고 배포한다

1️⃣ dockerfile

컨테이너를 어떻게 만들어야 되는지에 대한 설명서

구성 요소

  • copy files : 어플리케이션을 구동하기 위해 꼭 필요한 파일 종류
  • install dependencies : 필요한 라이브러리, 프레임워크등 외부 디펜던시 명시
  • set environment variables : 환경 변수 설정
  • run setup scripts: 구동하는 스크립트

2️⃣ image

실행되고 있는 어플리케이션의 상태를 스냅샷해서 만들어 둔것.

3️⃣ container

캡쳐해둔 이미지를 고립된 환경에서 개별적인 파일 시스템 안에서 실행 할 수 있는것.
컨테이너 안에서 어플리케이션이 동작한다.

도커 이미지 배포하는 과정 🔄

깃, 깃허브와 비슷한 관계

컨테이너 레지스트리(이미지를 공유할 수 있는)

public

  • dockerhub
  • red hat quary.io
  • github packages

private

  • aws
  • google cloud
  • microsoft azure

🐳 정리 🐳

  • 로컬 머신에 도커 설치
  • 서버에 도커설치
  1. 어플리케이션을 구동하는데 필요한 도커파일 작성
  2. 이미지 만들기
  3. 컨테이너 레지스트리에 push
  4. server에 pull
  5. 컨테이너 실행

post-custom-banner

0개의 댓글