안녕하세요. 모카의 머신러닝 입니다.
Docker 공식 문서 번역을 한 부분에 대해서 포스팅 합니다.
키워드: 도커란? 도커 플랫픔, 도커 엔진, 도커를 사용할 수 있는 곳
Docker overview
도커는 어플리케이션을 개발하고, 운송하고, 실행하는 오픈 플랫폼 입니다. 도커는 당신의 어플리케이션을 당신의 인프라로부터 분리시키는걸 가능하게 해서 소프트웨어를 빠르게 전달할 수 있습니다. 도커와 함께하면, 당신의 어플리케이션을 관리하는 것과 같은 방법으로 당신의 인프라를 관리할 수 있습니다. 코드를 빠르게 운송, 테스트, 배포하기 위한 도커의 방법론의 이점을 사용하면, 당신은 코드를 작성하는 것과 제품으로 실행하는 것 사이의 지연을 상당히 줄일 수 있을 것입니다.
도커는 당신의 컨테이너들의 라이프사이클을 관리하는 도구와 플랫폼을 제공합니다.
- 컨테이너를 사용하여 당신의 어플리케이션과 구성요소를 도와주는 기능을 개발하세요.
- 컨테이너는 당신의 어플리케이션을 배포하고 테스트하는 하나의 유닛이 됩니다.
- 당신이 준비가 되었으면, 컨테이너 또는 오케스트레이션된 서비스의 형태로 당신의 제품 환경안에 당신의 어플리케이션을 배포하세요. 이것은 당신의 제품 환경의 로컬 데이터 센터이든, 클라우드 제공자이든, 두 개의 결합이든지 상관없이 동일할 것입니다.
Docker Engine
도커 엔진은 이러한 구성요소들이 있는 클라이언트-서버 어플리케이션 입니다.
- 서버는 데몬 프로세스 라고 부르는 롱러닝 프로그램의 종류입니다.
- REST API는 프로그램이 데몬에게 말하고 무엇을 할지 지시할 수 있도록 하는 특정한 인퍼페이스 입니다.
- 커맨드 라인 인터페이스 (CLI) 클라이언트가 있습니다.
CLI는 CLI 커맨드를 스크립트 하거나 또는 직접 도커 데몬을 조절하고 상호작용할 수 있도록 도커 REST API를 사용합니다. 많은 도커 어플리케이션들이 API와 CLI 아래에 있습니다.
데몬은 이미지, 컨테이너, 네트워크, 볼륨 같은 도커 오브젝트를 생성하고 관리힙니다.
What can I use Docker for?
당신의 어플리케이션의 빠르고 지속적인 배포
도커는 당신의 어플리케이션과 서비스를 제공하는 로컬 컨테이너를 사용하는 표준 환경에서 개발자들이 일할 수 있도록 하므로써 라이프싸이크 개발을 간소화 한다. 컨테이너들은 지속적인 통합과 지속적인 배포 (CI/CD) 워크플로우에 좋다.
다음의 예시 시나리오를 고려하자.
- 당신은 로컬에서 코드를 짜고 도커 컨테이너를 사용하여 같이 일하는 동료들에게 공유하는 개발자이다.
- 그들은 테스트 환경에 어플리케이션을 푸시하고 자동화되고 메뉴얼한 테스트를 수행하기 위해서 도커를 사용한다.
- 개발자들이 버그를 찾았을 때, 그들은 개발환경 안에서 그것들을 고칠 수 있고 테스트와 검증을 위한 테스트 환경으로 재배포 할 수 있다.
- 테스트가 완료됬을 때, 소비자에서 수정한 부분을 제공하는 것은 개발 환경에 업데이트 된 이미지를 푸시하는 것 만큼 간단하다.
반응형 배포와 스케일링
도터의 컨테이너 기반의 플랫폼은 매우 휴대성있는 워크로드를 할 수 있게 해준다. 도커 컨테이너는 개발자의 로컬 랩탑, 데이터 센터의 물리적 또는 가상 머신, 클라우드 제공처, 다양한 환경의 혼합된 곳에서도 실행할 수 있다.
도커의 휴대성과 가벼운 특성은 비즈니스의 요구에 따라 실시간으로 확장 또는 축소하면서, 다이나믹하게 워크로드를 관리하는 것을 쉽게 한다.
같은 하드웨어에 더 많은 워크로드 실행
도커는 가볍고 빠릅니다. 이것은 하이퍼파이저 기반의 가상 머신에 대한 실행 가능하고 비용에 효율적인 대안을 제공하고, 따라서 당신의 비즈니스 목표를 위해서 더 많은 컴퓨팅 용량을 사용할 수 있습니다. 도커는 더 많은 또는 적은 리소스가 필요한 고밀도 환경과 작고 중간정도의 개발환경에도 완벽하다.
궁금하신 점이나 문의하실 점은 댓글로 남겨주세요.
글 읽어주셔서 감사합니다. :)