BE 공부/Infrastructure
Docker란?
꼬질꼬질두부
2023. 9. 1. 22:54
반응형
Docker란 무엇인가?
컨테이너 기반의 오픈소스 플랫폼입니다.
이것의 주요 목적은 "한 번 작성하면 어디서든 실행"하는 것입니다. Docker를 사용하면 개발자와 시스템 관리자가 애플리케이션을 빠르게 구축, 배포 및 실행할 수 있습니다.
쉽게 한번 더 설명하자면,
Docker는 마치 무거운 짐을 간편하게 넣어서 이동할 수 있는 상자와 같은 역할을 하는 컴퓨터 소프트웨어 도구입니다.
이 상자는 우리의 프로그램과 그 프로그램이 제대로 동작하기 위해 필요한 모든 것들을 함께 담아 다른 곳에서도 쉽게 실행시킬 수 있게 해줍니다.
핵심 개념 설명
- 컨테이너:
- 도커의 핵심 기능.
- 마치 완벽하게 포장된 상자. 작성한 코드, 필요한 라이브러리, 시스템 설정 값 등 모든 것을 포함.
- 이 상자는 어디서든 열 수 있고, 내용물은 항상 동일. "내 PC에서는 잘 돌아가는데…"라는 문제 해결😃
- 도커의 핵심 기능.
- 이미지:
- 컨테이너를 만들기 위한 설계도.
- 마치 특정 프로그램을 실행하기 위한 설정과 필요한 파일들의 목록을 담고 있는 설계도.
- 설계도를 기반으로 실제로 실행할 수 있는 컨테이너를 만듦.
- Docker Hub:
- 도커 이미지를 올려두는 공간, 마치 사진을 올려두는 클라우드 서비스 같은 것.
- 만든 이미지를 올려 다른 사람들과 공유 가능
- 다른 사람들이 만든 유용한 이미지를 다운로드 받아 사용 가능.
- 도커 이미지를 올려두는 공간, 마치 사진을 올려두는 클라우드 서비스 같은 것.
그렇다면, 왜 Docker를 사용하나요?
프로그램을 만들 때, 그 프로그램이 잘 동작하기 위해서는 코드 외에도 여러 가지 환경 설정이나 라이브러리, 다른 시스템 도구들이 필요합니다. 이 모든 것을 한 번에 포장해서 다른 컴퓨터에서도 같은 방식으로 잘 동작하게 만들고 싶은데, Docker는 바로 이 작업을 도와주는 훌륭한 도구입니다.
사용 예시
- 마이크로서비스 아키텍처
: 각 마이크로서비스를 독립적인 컨테이너로 패키징하여 배포와 확장을 쉽게 합니다. - 데이터베이스 및 메시징 시스템
: 일관된 환경에서 데이터베이스나 큐를 실행합니다. - CI/CD
: 빌드와 배포 파이프라인에 Docker를 통합하여 소프트웨어 전달 프로세스를 자동화합니다.
반응형