꼬질꼬질두부 2023. 9. 1. 22:54
반응형

Docker 무엇인가?

컨테이너 기반의 오픈소스 플랫폼입니다.

이것의 주요 목적은 "한 번 작성하면 어디서든 실행"하는 것입니다. Docker를 사용하면 개발자와 시스템 관리자가 애플리케이션을 빠르게 구축, 배포 및 실행할 수 있습니다.

 

쉽게 한번 더 설명하자면,

Docker 마치 무거운 짐을 간편하게 넣어서 이동할 있는 상자와 같은 역할을 하는 컴퓨터 소프트웨어 도구입니다.

상자는 우리의 프로그램과 프로그램이 제대로 동작하기 위해 필요한 모든 것들을 함께 담아 다른 곳에서도 쉽게 실행시킬 있게 해줍니다.

 

 

핵심 개념 설명

  1. 컨테이너:
    1. 도커의 핵심 기능.
    2. 마치 완벽하게 포장된 상자. 작성한 코드, 필요한 라이브러리, 시스템 설정 값 등 모든 것을 포함.
    3. 이 상자는 어디서든 열 수 있고, 내용물은 항상 동일. "내 PC에서는 잘 돌아가는데…"라는 문제 해결😃
  2. 이미지:
    1. 컨테이너를 만들기 위한 설계도.
    2. 마치 특정 프로그램을 실행하기 위한 설정과 필요한 파일들의 목록을 담고 있는 설계도.
    3. 설계도를 기반으로 실제로 실행할 수 있는 컨테이너를 만듦.
  3. Docker Hub:
    1. 도커 이미지를 올려두는 공간, 마치 사진을 올려두는 클라우드 서비스 같은 것.
    2. 만든 이미지를 올려 다른 사람들과 공유 가능
    3. 다른 사람들이 만든 유용한 이미지를 다운로드 받아 사용 가능.

 

그렇다면, Docker 사용하나요?

프로그램을 만들 , 프로그램이 동작하기 위해서는 코드 외에도 여러 가지 환경 설정이나 라이브러리, 다른 시스템 도구들이 필요합니다. 모든 것을 번에 포장해서 다른 컴퓨터에서도 같은 방식으로 동작하게 만들고 싶은데, Docker 바로 작업을 도와주는 훌륭한 도구입니다.

 

사용 예시

  • 마이크로서비스 아키텍처
    : 각 마이크로서비스를 독립적인 컨테이너로 패키징하여 배포와 확장을 쉽게 합니다.

  • 데이터베이스 및 메시징 시스템
    : 일관된 환경에서 데이터베이스나 큐를 실행합니다.

  • CI/CD
    : 빌드와 배포 파이프라인에 Docker를 통합하여 소프트웨어 전달 프로세스를 자동화합니다.
반응형