Top

도커 컨테이너 [설치부터 이미지 제작, 쿠버네티스와 플래널, 콕핏, 아토믹 활용법까지]

  • 원서명Docker Containers : Build and Deploy with Kubernetes, Flannel, Cockpit, and Atomic (ISBN 9780134136561)
  • 지은이크리스토퍼 네거스(Christopher Negus)
  • 옮긴이남기혁
  • 감수자이충희, 한재희
  • ISBN : 9788960779679
  • 30,000원
  • 2017년 01월 26일 펴냄
  • 페이퍼백 | 412쪽 | 188*235mm
  • 시리즈 : 오픈소스 프로그래밍

책 소개

요약

이 책은 도커를 처음 접하는 이들이 도커의 기본 개념과 기능을 쉽게 익힐 수 있도록 실습 중심으로 설명한다. 전체 주제를 총 5부로 나눠서, 컨테이너의 개념과 도커의 설치 및 기본 사용법, 개별 컨테이너를 다루기 위한 여러 가지 기능과 옵션 사용법, 클라우드 환경에서 컨테이너를 관리하는 방법, 오케스트레이션을 이용해 여러 개의 컨테이너를 클러스터로 구성해 사용하는 방법, 컨테이너 이미지 제작 방법 등을 차례대로 소개한다. 이러한 주제를 구체적인 예제와 함께 소개하기 때문에, 처음부터 차근차근 따라가면 고급 주제로 넘어가기 위한 기본기를 갖출 수 있다.

이 책에서 다루는 내용

■ 도커의 개념과 기능 소개
■ 표준 리눅스 또는 아토믹 호스트나 CoreOS 등 컨테이너 전용 OS에 도커 설치
■ 컨테이너 런타임 환경과 사설 도커 레지스트리 구축
■ 도커 이미지와 컨테이너의 생성과 구동
■ 컨테이너 이미지를 검색하고, 가져오고, 저장하고, 불러오고, 태깅하는 방법
■ 도커 레지스트리에서 로컬 시스템으로 컨테이너를 가져오거나 로컬에 있는 컨테이너를 레지스트리에 올리는 방법
■ 도커 컨테이너와 호스트 네트워킹 및 스토리지 통합
■ 도커 빌드 커맨드와 도커파일로 컨테이너 빌드
■ 공간 사용량 최소화 및 불필요한 컨테이너 삭제
■ 컨테이너에 슈퍼 유저 권한을 부여해 호스트에 접근하는 방법
■ 쿠버네티스를 이용해 여러 컨테이너로 구성된 복잡한 애플리케이션 오케스트레이션
■ 클라우드 환경에서 슈퍼 유저 권한을 가진 컨테이너 사용
■ 콕핏으로 클라우드에 있는 컨테이너 관리
■ 도커 컨테이너 개발 방법
■ 공개된 도커파일을 통해 컨테이너 빌드 테크닉 학습

이 책의 대상 독자

이 책은 도커 컨테이너를 처음 접하는 이들에게 필요한 내용을 처음부터 끝까지 제공한다. 책을 다 읽은 후에도 레퍼런스로 삼아 도커 컨테이너에 관련된 세부 기능이나 옵션을 찾아볼 때 활용할 수 있다.

이 책의 구성

1부, ‘컨테이너와 친해지기’에서는 도커 컨테이너를 처음 다루는 데 필요한 사항을 배운다.
1장, ‘도커를 이용한 애플리케이션의 컨테이너화’에서는 컨테이너가 무엇인지, 컨테이너로 만들지 않은 애플리케이션과 어떻게 다른지 등에 대해 소개한다.
2장, ‘컨테이너 런타임 환경 구축하기’에서는 페도라와 우분투 같은 범용 리눅스 시스템에 도커를 설치하는 방법과 CentOS나 프로젝트 아토믹 같은 컨테이너 전용 리눅스 시스템에 도커를 설치하는 방법을 소개한다.
3장, ‘개인 도커 레지스트리 구축하기’에서는 자신이 직접 제작한 도커 이미지를 저장하는 개인 도커 레지스트리의 설정 방법을 소개하면서, 기본적인 컨테이너 설정 방법을 설명한다.

2부, ‘개별 컨테이너 다루기’에서는 도커 커맨드로 개별 컨테이너를 직접 다루는 방법을 중심으로 소개한다.
4장, ‘컨테이너 이미지 실행하기’에서는 컨테이너 이미지를 구동하는 방법을 소개한다.
5장, ‘컨테이너 이미지 검색하고 가져오고 저장하고 불러오기’에서는 도커 레지스트리에서 컨테이너 이미지를 검색하고, 원하는 이미지를 골라서 가져오고, 이를 파일로 저장하고, 다른 도커 시스템에 불러오는 방법을 소개한다.
6장, ‘이미지 태깅하기’에서는 이미지에 담긴 내용을 잘 드러내고, 이 정보를 이용해 이미지를 레지스트리에 올릴 수 있도록 이미지에 태그를 붙이는 방법을 소개한다.
7장, ‘컨테이너 자세히 들여다보기’에서는 도커 컨테이너와 이미지의 작동 원리에 대한 세부 사항을 살펴보기 위해 컨테이너나 이미지의 내부를 들여다보는 방법을 소개한다.
8장, ‘컨테이너 구동하고 멈추고 재구동하기’에서는 제목 그대로 컨테이너를 구동하고, 멈추고, 재구동하는 방법을 설명한다.
9장, ‘컨테이너 스토리지 설정하기’에서는 호스트의 디렉터리를 컨테이너 안에 마운트하는 방법을 중심으로 컨테이너 스토리지를 설정하는 방법을 설명한다.
10장, ‘컨테이너 네트워크 설정하기’에서는 도커 서비스에서 보편적으로 사용하는 디폴트 네트워킹을 설정하는 방법과 컨테이너를 구동하는 사용자가 개별 컨테이너에 네트워크 인터페이스를 설정하는 방법을 소개한다.
11장, ‘컨테이너 정리하기’에서는 도커 이미지를 생성하거나 구동한 후에 남은 캐시 데이터를 삭제하는 방법을 소개한다.
12장, ‘도커 이미지 빌드하기’에서는 도커 컨테이너를 직접 빌드하는 방법을 설명한다. 이 과정에서 컨테이너를 효율적으로 빌드하고 구동하는 방법을 소개한다.

3부, ‘클라우드 환경에서 컨테이너 구동하기’
13장, ‘SPC 이용하기’에서는 SPC(Super Privileged Containers)라 부르는 특수한 형태의 컨테이너를 구동하는 방법을 소개한다. SPC의 작동 방식을 설명하기 위해 RHEL 아토믹 시스템에서 다양한 관리 작업을 수행하는 이미지를 가져와서 살펴본다.
14장, ‘콕핏으로 클라우드 환경에서 컨테이너 관리하기’에서는 웹 기반 컨테이너 관리 도구인 콕핏을 사용해 클라우드나 로컬 환경에 존재하는 여러 호스트에 걸쳐 컨테이너를 관리하는 방법을 소개한다.

4부, ‘여러 개의 컨테이너 관리하기’에서는 오케스트레이션에 대해 소개한다.
15장, ‘쿠버네티스를 이용한 컨테이너 오케스트레이션’에서는 쿠버네티스 마스터와 노드 서비스를 하나의 시스템에서 구동하는 방법을 소개한다.
16장, ‘쿠버네티스 클러스터 생성하기’에서는 앞 장에서 살펴본 올인원 쿠버네티스 시스템에서 한 단계 더 나아가, 쿠버네티스 클러스터를 구축하는 방법을 소개한다. 이렇게 클러스터를 구축해두면, 애플리케이션을 컨테이너 포드 단위로 배포해 여러 노드에 분산된 컨테이너를 마스터 노드에서 관리할 수 있다.

5부, ‘컨테이너 개발하기’에서는 컨테이너를 효율적으로 빌드하기 위한 기법을 소개한다.
17장, ‘도커 컨테이너 개발하기’에서는 도커 컨테이너를 개발하는 데 유용한 여러 가지 팁과 테크닉을 소개한다.
18장, ‘도커파일 샘플 살펴보기’에서는 웹에 공개된 여러 가지 도커파일을 살펴보면서 컨테이너를 직접 빌드할 때 발생하는 문제를 다른 사람들은 어떻게 해결했는지 알아본다.

저자/역자 소개

지은이의 말

도커는 애플리케이션의 빌드와 패키징, 배포에 관련된 최신 기술 중에서도 가장 중심에 서 있는 컨테이너 기술이다. 도커는 애플리케이션 개발 프로세스부터 대용량 데이터센터에 애플리케이션을 배포하고 확장하는 데 이르기까지 컴퓨팅 전반에 엄청난 영향을 미칠 만한 기술이다.
현재 도커가 큰 인기를 끌고 있지만, 프로젝트는 이제 막 시작한 상태로서 도커로 무엇을 할 수 있는지를 정확히 파악하지 못한 사람들도 많다. 여러분도 이와 같은 상태에 있다면, 이 책을 통해 도커가 무엇인지 이해할 수 있을 뿐만 아니라 향후 컨테이너 기술이 가지는 잠재력에 대한 안목을 높일 수 있다.

지은이 소개

크리스토퍼 네거스(Christopher Negus)

리눅스 관련 서적의 베스트셀러 저자이자 공인 리눅스 강사 및 분석가며, 레드햇 공인 아키텍트 겸 레드햇 책임 테크니컬 라이터로 활동하고 있다. 현재 레드햇 고가용성 오픈스택 플랫폼, 레드햇 엔터프라이즈 리눅스 아토믹 엔터프라이즈, 쿠버네티스, 도커 포맷의 리눅스 컨테이너 등의 프로젝트에 참여하고 있다.
리눅스와 오픈소스 소프트웨어에 관련된 책을 수십 권 저술했다. 『리눅스 바이블 제9판(Linux Bible, 9th Edition)』(제이펍, 2016)은 현재까지도 리눅스 관련 분야에서 베스트셀러를 유지하고 있다. 닷컴 열풍이 불던 시절에 저술한 『Red Hat Linux Bible』은 8판에 걸쳐 25만 부 가량 팔렸으며, 올해 최고의 리눅스 서적으로 두 차례나 선정됐다. 그 외에도 (단독 또는 공동으로) 저술한 서적으로 와일리 출판사의 『Linux Toolbox』 시리즈, 『Linux Toys』 시리즈, 『Fedora and Red Hat Enterprise Linux Bible』 시리즈, 『Linux Troubleshooting Bible』 등이 있다.
프렌티스 홀 출판사의 네거스 소프트웨어 솔루션 시리즈 제작에도 참여했는데, 그중에서 『Live Linux CD』를 저술하고, 『The Official Damn Small Linux Book』을 공동 저술했다. 이 시리즈 중에는 웹 개발과 구글 앱스, 가상화 관련 책도 있다.
2008년 RHCE 강사로 레드햇에 합류해 RHCI(Red Hat Certified Instructor)와 RHCX(Red Hat Certified Examiner)가 됐다. 2014년 가상화 관리자, 배포 및 시스템 관리, 클러스터 및 스토리지 관리, 서버 하드닝 분야에 대해 RHCA(Red Hat Certified Architect) 자격을 취득했다. 2011년 강사 생활을 마치고 다시 레드햇 풀타임 저자로 돌아온 후 현재까지 저술 활동을 이어나가고 있다.
졸업 후 유닉스 시스템 연구소와 AT&T 벨랩(AT&T Bell Lab)에서 근무한 바 있으며, 이 기간에 첫 번째 공식 유닉스 시스템 V 데스크톱 시스템 매뉴얼을 저술하고, 『Guide to the UNIX Desktop』을 공동 저술했다. 유닉스 시스템 V2.0버전부터 4.2버전까지, 8년 동안 유닉스 시스템을 개발한 이들과 함께 일했다.

옮긴이의 말

몇 년 전부터 도커를 비롯한 컨테이너 기술이 주목받기 시작하면서 최근에는 배포 환경을 도커와 같은 컨테이너 기반으로 구축하는 사례가 크게 늘었습니다. 컨테이너를 바라보는 시선도 유행하는 최신 기술이 아닌, 개발 및 운영을 위한 기본 환경으로 인식되고 있습니다. 개인적으로는 LXC를 통해 업무에 컨테이너를 활용함으로써 얻을 수 있는 장점에 대해 잘 알고 있었기에, 이보다 좀 더 다듬어진 환경을 제공하는 도커의 등장이 상당히 반가웠습니다.
모든 기술이 그렇듯이, 언론 매체나 다른 이들로부터 전해 듣는 것만으로는 그 본질을 제대로 이해하기 힘듭니다. 개념만 잘 이해하고 있으면 어디 가서 설명할 수는 있겠지만, 현업에서 제대로 활용하려면 아무리 쉬운 기술이라도 어느 정도 직접 다뤄봐야 합니다. 이 책은 완전 초보뿐만 아니라, 개념은 어느 정도 알고 있거나 한 번쯤 도커 컨테이너를 실행해본 경험이 있는 이들이 초급 이상의 수준에 도달하는 데 필요한 내용을 구체적인 예제와 함께 차근차근 설명하고 있습니다. 특정 기술을 현업에서 활용할 때는 당장 필요한 기능만 부분적으로 익히고 넘어가기 쉬운데, 이 책을 번역하면서 도커의 전반에 대해 제대로 정리하고 다시 생각해볼 수 있어 역자로서도 굉장히 유익한 시간이었습니다.

옮긴이 소개

남기혁

고려대학교 컴퓨터학과에서 학부와 석사 과정을 마친 후 한국전자통신연구원에서 선임 연구원으로 재직하던 중 (주)프리스티를 창업했다. 에이콘출판사의 『GWT 구글 웹 툴킷』(2008), 『해킹 초보를 위한 USB 공격과 방어』(2011), 『자바 7의 새로운 기능』(2013), 『iOS 해킹과 보안 가이드』(2014), 『Neutron 오픈스택 네트워킹』(2015), 『실전 IoT 네트워크 프로그래밍』(2015), 『애플 워치 WatchKit 프로그래밍』(2015), 『현대 네트워크 기초 이론』(2016) 등을 번역했다.

기술 감수자 소개

이충희

다양한 분야를 두루 거쳤으며 새로운 기술에 관심이 많은 개발자다. 서버, 임베디드, 안드로이드 개발자 등으로 일한 경험이 있으며, 스크럼/TDD 등의 애자일 방법론을 업무에 적용해왔다. 현재는 (주)픽셀소프트웨어(http://fixelsoft.com/)에서 최고 기술책임자(CTO)로 일하고 있다. 스타트업을 운영하기 위한 인프라 및 자동화 시스템에 관심이 많으며, 어떻게 하면 재미있게 일할 수 있을지 항상 고민하고 있다.

한재희

닷컴 붕괴 시점에 컴퓨터를 전공했으며 현재 픽셀소프트웨어의 웹 개발자로 일하고 있다. 웹 개발과 자바스크립트에 관심이 많으며 클라우드 시스템, AWS에 대해서도 공부 중이다. 우연히 도커를 이용한 프로젝트의 기회를 얻었고, 그 프로젝트를 수행한 후 이 책의 감수 작업에 참여하게 됐다

목차

목차
  • 1부. 컨테이너와 친해지기
  • 1장, 도커를 이용한 애플리케이션의 컨테이너화
  • 2장, 컨테이너 런타임 환경 구축하기
  • 3장, 개인 도커 레지스트리 구축하기

  • 2부. 개별 컨테이너 다루기
  • 4장, 컨테이너 이미지 실행하기
  • 5장, 컨테이너 이미지 검색하고 가져오고 저장하고 불러오기
  • 6장, 이미지 태깅하기
  • 7장, 컨테이너 자세히 들여다보기
  • 8장, 컨테이너 구동하고 멈추고 재구동하기
  • 9장, 컨테이너 스토리지 설정하기
  • 10장, 컨테이너 네트워크 설정하기
  • 11장, 컨테이너 정리하기
  • 12장, 도커 이미지 빌드하기

  • 3부. 클라우드 환경에서 컨테이너 구동하기
  • 13장, SPC 이용하기
  • 14장, 콕핏으로 클라우드 환경에서 컨테이너 관리하기

  • 4부. 여러 컨테이너 관리하기
  • 15장, 쿠버네티스를 이용한 컨테이너 오케스트레이션
  • 16장, 쿠버네티스 클러스터 생성하기

  • 5부. 컨테이너 개발하기
  • 17장, 도커 컨테이너 개발하기

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안