Docker(도커)란?

KIMA·2022년 7월 12일
1

docker

목록 보기
1/2
post-thumbnail

Docker의 필요성

  • 백엔드 시스템 개발을 위해선 언어, 웹 서버, DB, 자동 배포 툴 다양한 프로그램들이 필요하고 이를 한꺼번에 관리하기가 어려워, 개발 환경이 바뀌게 되면 재설치가 복잡해짐
    👉 백엔드 시스템 개발에 필요한 프로그램들을 모두 묶어 패키지로 만들 수 있으며 이 패키지를 다른 개발 환경에서 그대로 사용할 수 있음
  • 새로운 프로그램을 설치할 때 기존에 존재하던 프로그램과 라이브러리 버전이 맞지 않아 충돌하는 등의 문제가 생길 수 있음
    👉 기존에 존재하던 프로그램과 분리된 환경에서 새로운 프로그램을 사용할 수 있음

Docker란?

: 특정 프로그램과 해당 프로그램을 실행하는데 필요한 기타 sw들을 하나의 패키지로 만듦으로써, 해당 프로그램의 개발과 사용을 도와주는 오픈소스 플랫폼

  • package를 파일 시스템 형태로 변경
    • 이를 docker image라고 함
    • docker image는 docker hub 같은 docker registry에서 다른 사람들과 공유 가능
  • docker image를 실행하면, docker container(응용 프로그램) 생성
    • program을 실행할 때마다 새로운 process가 생성되듯이, image를 실행할 때마다 새로운 container가 생성됨
  • container들은 각각 독립된 공간에서 실행됨

Docker의 구조

: Containerization

  • OS 가상화 X (OS는 단 하나), 프로세스 격리 O
    • 도커 엔진은 도커의 다양한 작업을 수행함
  • Not virtualization (OS 가상화)
    • like VMware, VirtualBox
    • 사용법은 간단하나, OS위의 OS는 무겁고 느림
profile
안녕하세요.

0개의 댓글