ICT 학점연계 인턴십 13주차

Lungnaha·2022년 11월 30일
1

ICT 인턴십

목록 보기
13/13

13 주차

Docker

이번 주에 전달해드릴 지식은 최근 제가 따로 공부할 정도로 관심을 가지고 있고, 회사에서도 사용하고 있는 Docker에 대해 아주 얕게(?) 말씀드리겠습니다.

Docker란?
Docker는 리눅스의 응용 프로그램들을 프로세스 격리 기술들을 사용해 컨테이너로 실행하고 관리하는 오픈 소스 프로젝트

Dockerfile
Dockerfile은 Docker에서 제공하는 이미지를 기반으로 원하는 설정을 통해 원하는 이미지를 만드는 스크립트 파일입니다.
Dockerfile은 간단하게 아래와 같은 요소들로 작성합니다.

  • FROM
    • 기반이 되는 시작 이미지
  • CMD
    • 컨테이너가 실행될 때, 사용하는 명령어
  • WORKDIR
    • CMD에서 설정한 내용이 실행될 디렉토리
  • EXPOSE
    • Dockerfile 빌드로 생성된 이미지에서 열어줄 포트
  • ENV
    • 사용할 환경 변수
  • LABEL
    • 이미지에 부가적인 설명

Docker-Compose
Docker-Compose는 다중 컨테이너 Docker 애플리케이션을 정의하고 실행하기 위해 사용합니다.

Container vs VM
이 내용은 Docker를 학습하면서 가장 헷깔리기도하면서 어떻게 보면 가장 이해가 필요한 부분이라고 생각합니다.
(혹시나 틀린 부분 있으면 피드백 언제나 환영합니다!)

  • Container
    • HOST OS를 공유
      • 즉, OS(Linux)와 커널을 공유
    • 여러 개의 컨테이너들이 서로 영향을 미치지 않고 독립적으로 실행되어 가벼움
      • 격리 개념으로 분리 -> 커널은 공유하지만, 프로세스를 격리
      • 서로 다른 파일 시스템(실행되는 환경)을 가질 수 있는 프로세스
  • VM
    • SW(주로 Hypervisor)를 통해 HW를 가상화하여 독립적인 환경 구성
      • OS를 완벽하게 분리 ex) 윈도우 PC에서 Linux VM 사용 가능
  • 참고) 윈도우 기반 Docker?
    • Docker 자체는 Linux 기반!
    • Window에서 사용하는 Docker?
      • 경량화된 Linux 머신이 구동되고, 그 위에 Docker가 구동되어 Window에서도 Docker 사용 가능

마치며...

벌써 12월이 되고, 날씨도 많이 추워지고 있습니다.

다들 감기 조심하세요~~ 🤧

profile
Long🌈Now😁Happy💖

0개의 댓글