Docker 및 IBM 컨테이너 서비스 Basic

물건을 컨테이너라는 표준화된 단위에 담아서 운반하게 되면 여러가지 이점이 있습니다. 가장 큰 이점이라면 트럭 혹은 배 그리고 기차나 비행기 등의 운송수단 별 고려사항이 줄어 물건 운반의 효율을 높일 수 있습니다. 컨테이터를 싣거나 나르는 기구들이 표준화되어 개별적으로 준비할 필요가 없고 운영 효율성이 향상되기 때문입니다. 이 처럼 어플리케이션을 패키징 할 때도 컨테이너라는 기술, 특히 Docker컨테이너를 이용하게 되면 어플리케이션의 배포의 효율을 크게 높일 수 있습니다. 각각 의 어플리케이션이 가지고 있는 다른점들을 컨테이터에 담아서 이를 배포할 때 신경쓰지 않아도 되게 해줍니다. Docker컨테이너 및 이를 기반으로하는 Bluemix 컨테이너 서비스에 대해 간단히 알아보겠습니다.

Docker란?

Docker는 Linux의 컨테이너 기술을 이용해서 소프트웨어의 이식성(portability)을 향상 시켜 어플리케이션 개발 및 배포의 효율성을 높여 주고 벤더에 종속되지 않도록 해줍니다. Linux의 컨테이터 기술은 오래전부터 있었고 보편화된 기술이지만 Docker가 컨테이너 외부의 인터페이스를 표준화하고 공개된 저장소(Docker Hub)에 저장하고 내려받을 수 있도록 하여 사용성을 높였습니다.

• 오픈 소프트웨어
– 2013년 3월 출시
– 20억 다운로드 (Docker images)
• 공개 기여
– 2000+ 기여자
– 2번째로 가장 인기있는 프로젝트
– 58개 국가, 185개 커뮤니티 meet-up 그룹
• 오픈 디자인
– IBM, Red Hat, Google, Microsoft, VMware, AWS, Rackspace 및 다수의 기여자들

Docker는 어플리케이션 배포를 손쉽게 해주는 개발자와 시스템 관리자들을 위한 오픈된 플랫폼이라 할 수 있습니다.

[ Docker 용어 기본]

1. Image
– 컨테이터를 생성할 때 사용되는 템플릿으로 공공 저장소(Docker Hub)에 저장된 컨테이너의 읽기 전용 스냅샷
2. Container
– 어플리케이션이 담기고 운반되는 표준화된 단위
3. Docker 허브/레지스트리
– SaaS형태의 공개된 저장소 및 개별적으로 기업의 환경에 구성
– 컨테이너 Image들을 저장, 배포, 공유
4. Docker 데몬(Engine)
– 컨테이너를 생성, 배포, 실행하는 프로그램
– Public 및 Private 클라우드 내 물리적 서버 및 가상 서버에서 실행
– Client 프로그램이 Docker Engine에 접속하여 명령을 실행

[기술 아키텍처]

Docker의 인기 비결은?

특히 Hybrid Cloud에서 어플리케이션을 배포할 경우 어플리케이션 이식성이 높은 Docker의 진가는 발현됩니다. Docker가 인기를 끄는 주요 이유는 다음과 같습니다.

• 어플리케이션 개발 효율성 향상
− 각각 다른 환경 구성을 신경쓰지 않게 해주고 CI/CD를 가능하게 함
− 개발자 랩탑에서 자동 테스트를 통해 운영시스템으로, 그리고 수정 없이 확장(Scale) 가능
• 자원 효율성 향상
− 경량 컨테이너는 동일한 OS 커널을 공유하며 단일 머신에서 실행
− 이미지는 계층화된 파일 시스템으로 공통 파일들을 공유하여 메모리 및 디스크를 효율적으로 사용하며 컨테이너를 빨리 시작할 수 있도록 함.
• 어플리케이션 이식성 향상
− 각 격리된 컨테이너가 어플리케이션, 필요 라이브러리 및 컨텐트, 설정 파일을 함께 패키징
− 이런 컨테이너가 인프라 환경들 사이를 문제없이 이동

IBM 컨테이너 서비스
IBM은 Docker 컨테이너가 제공하는 이점에 장점을 더 한 IBM 컨테이너 서비스를 제공합니다. Docker 이미지 획득에서 유지관리까지의 컨테이너 Life-Cycle 전반의 관리차원에서 주요 기능은 다음과 같습니다.

IBM Bluemix 컨테이너 서비스를 사용자가 관리하고 설정하는 영역과 이를 지원하기 위해 IBM이 관리하는 영역으로 나눠 다음과 같이 도식화하여 나타낼 수 있습니다.

IBM은 사용자가 환경을 직접 설치하고 관리하는 수고 없이 Docker 컨테이너 기술을 사용할 수 있도록 컨테이터 오케스트레이션 및 Private 저장소, 보안 검사 기능 등의 추가 이점을 더하여 서비스를 제공하고 있습니다. 서비스의 자세한 내용은 Bluemix Docs 페이지에서 확인 가능합니다.:

IBM 컨테이너 서비스 링크
https://console.ng.bluemix.net/docs/containers/container_index.html?pos=2