HOME > 상세정보

상세정보

트러블슈팅 도커

트러블슈팅 도커

자료유형
단행본
개인저자
Vaibhav Kohli Rajdeep Dua, 저 John Wooten, 저 남기혁, 역
서명 / 저자사항
트러블슈팅 도커 / 바이브하브 콜리, 라즈딥 두아, 존 우튼 지음; 남기혁 옮김
발행사항
서울 :   에이콘출판,   2018  
형태사항
346 p. : 삽화, 도표 ; 24cm
원표제
Troubleshooting Docker
ISBN
9791161751887
000 00000cam c2200205 c 4500
001 000045963604
005 20190805145931
007 ta
008 181206s2018 ulkad 000c kor
020 ▼a 9791161751887 ▼g 94000
040 ▼a 211009 ▼c 211009 ▼d 211009
082 0 4 ▼a 005.3 ▼2 23
085 ▼a 005.3 ▼2 DDCK
090 ▼a 005.3 ▼b 2018z1
100 1 ▼a Vaibhav Kohli
245 1 0 ▼a 트러블슈팅 도커 / ▼d 바이브하브 콜리, ▼e 라즈딥 두아, ▼e 존 우튼 지음; ▼e 남기혁 옮김
246 1 9 ▼a Troubleshooting Docker
260 ▼a 서울 : ▼b 에이콘출판, ▼c 2018
300 ▼a 346 p. : ▼b 삽화, 도표 ; ▼c 24cm
700 1 ▼a Rajdeep Dua, ▼e
700 1 ▼a John Wooten, ▼e
700 1 ▼a 남기혁, ▼e
900 1 0 ▼a 콜리 바이브하브, ▼e
900 1 0 ▼a 두아, 라즈딥, ▼e
900 1 0 ▼a 우튼, 존, ▼e

소장정보

No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 세종학술정보원/과학기술실/ 청구기호 005.3 2018z1 등록번호 151343370 도서상태 대출가능 반납예정일 예약 서비스 C

컨텐츠정보

책소개

오픈소스 프로그래밍 시리즈. 도커의 설치와 기본 관리 기능부터, 네트워킹, 쿠버네티스, 공용 클라우드에서 활용하는 방법에 이르기까지, 전반적인 도커 활용법과 이 과정에서 발생할 수 있는 다양한 문제를 해결하는 기법을 설명한다. 또한 문제를 사전에 방지하기 위한 팁과 도커 기반의 워크플로우를 구성하는 방법도 소개한다.

★ 이 책에서 다루는 내용 ★

■ 도커 관련 도구를 비롯해 뿐만 아니라 서비스, 마이크로서비스, N티어 애플리케이션을 설치하는 방법
■ 자동화 도구를 통해 재사용 가능하고 이식성 높은 컨테이너를 생성하는 방법
■ 컨테이너끼리 연결하거나 네트워킹하는 방법
■ 컨테이너에 볼륨을 안전하게 붙이는 방법
■ 도커 API 사용 및 문제 해결 방법
■ 공용 클라우드에 도커를 배치하는 과정에서 발생하는 문제의 해결 방법
■ 쿠버네티스(Kubernetes)를 통해 컨테이너를 쉽게 관리하는 방법

★ 이 책의 대상 독자 ★

숙련된 솔루션 아키텍트와 개발자, 프로그래머, 시스템 엔지니어, 관리자들이 도커 컨테이너화와 관련해 흔히 발생하는 문제를 해결할 때 도움 받을 수 있는 책이다. 자동화된 배치를 제공하는 프로덕션 수준의 도커 컨테이너를 구축하려면 도커의 기본 기능뿐만 아니라 고급 기능에 관련된 문제 해결 방법을 갖춰야 한다. 이 책의 내용은 리눅스 커맨드라인 문법, 단위 테스트, 도커 레지스트리, 깃허브뿐만 아니라 최신 컨테이너 호스팅 플랫폼과 클라우드 서비스 프로바이더(CSP)에 대해서도 깊이 있게 이해하고 있다는 가정하에 구성됐다. 또한 이 책을 통해 애초에 문제가 발생할 여지를 없애기 위한 여러 가지 방법과 도구도 소개한다.

★ 이 책의 구성 ★

1장. '컨테이너 및 도커 개요'에서는 컨테이너화의 기본 개념에 대해 애플리케이션 및 OS 기반 컨테이너 예시를 토대로 소개한다. 도커 기술의 특징과 장점, 도커 컨테이너의 라이프사이클에 대해 살펴본다.
2장. '도커 설치 방법'에서는 우분투, CoreOS, CentOS, 레드햇 리눅스, 페도라, 수세 리눅스(SUSE Linux) 등의 여러 리눅스 배포판에서 도커를 설치하는 방법을 단계별로 소개한다.
3장. '베이스 및 레이어드 이미지 빌드 방법'에서는 프로덕션 수준의 애플리케이션 컨테이너화에서 가장 핵심적인 작업인 이미지 빌드 방법을 소개한다. 이 과정에서 처음부터 직접 수작업으로 이미지를 빌드하는 방법도 소개한다. 그런 다음, 도커파일로 레이어드 이미지(layered image)를 빌드하는 방법과 도커파일에서 사용하는 커맨드도 자세히 살펴본다.
4장. '마이크로서비스 및 N티어 애플리케이션 설계'에서는 개발부터 테스트까지 자연스럽게 이어지도록 설계된 예제 환경을 살펴본다. 이러한 환경은 리소스 프로비저닝과 설정 작업을 수작업으로 처리하거나 그 과정에서 에러가 발생하는 것을 최소화하는 데 도움이 된다. 이 과정에서 마이크로서비스 애플리케이션을 테스트하고 자동화하고 배치하고 관리하는 방법도 간략히 소개한다.
5장. '컨테이너 기반 애플리케이션 다루기'에서는 도커 레지스트리에 대해 소개한다. 먼저 도커 허브를 이용한 도커 공용 리포지터리의 기본 개념과 다양한 사용자와 컨테이너를 공유하는 방법을 소개한다. 도커는 사설 도커 레지스트리를 구축하는 옵션도 제공한다. 이 장에서는 이러한 사설 레지스트리를 통해 도커 컨테이너를 조직 내부에서 푸시(push)하고 풀(pull)하고 공유(share)하는 방법을 살펴본다.
6장. '컨테이너 운영하기'에서는 모든 호스트 디바이스에 접근할 수 있는 프리빌리지드 컨테이너(privileged container)와 도커 컨테이너에서 하부 호스트를 관리하는 서비스 구동에 필요한 백그라운드 서비스를 실행하는 수퍼 프리빌리지드 컨테이너(super-privileged container)를 소개한다.
7장. '도커 컨테이너의 네트워킹 스택 관리하기'에서는 Docker0 브릿지를 통한 도커 네트워킹 메커니즘과 이에 관련된 설정 및 문제 해결 방법을 설명한다. 또한 도커 네트워크와 외부 네트워크 사이에서 발생하는 통신 문제를 해결하는 방법도 살펴본다. 그리고 위브(Weave), OVS, 플래널(Flannel), 그리고 도커에서 최근 추가된 오버레이 네트워크를 비롯한 다양한 네트워킹 기능을 통해 여러 호스트에 있는 컨테이너끼리 통신하는 방법도 살펴본다. 이러한 방법들을 모두 비교해보고 각각을 설정할 때 발생하는 문제를 해결하는 방법도 소개한다.
8장. '쿠버네티스로 도커 컨테이너 관리하기'에서는 쿠버네티스를 통해 도커를 관리하는 방법을 소개한다. 이 과정에서 다양한 배치 시나리오를 살펴보고 쿠버네티스를 베어메탈(Bare Metal) 머신, AWS, vSphere, 미니큐브(minikube) 등에 배치하는 과정에서 발생하는 여러 가지 문제를 해결하는 방법도 소개한다. 또한 쿠버네티스 포드(Kubernetes pod)를 효과적으로 배치하고, 쿠버네티스와 관련된 문제를 디버깅하는 방법도 살펴본다.
9장. '데이터 볼륨 사용법'에서는 도커와 관련된 데이터 볼륨과 스토리지 드라이버 개념을 자세히 살펴본다. 데이터 볼륨과 관련해 발생하는 문제를 해결하기 위한 네 가지 접근 방법을 소개하고 각각의 장단점을 분석한다. 첫 번째 방법인 도커 컨테이너 내부에 데이터를 저장하는 것은 가장 기본적인 방법이지만, 프로덕션 환경에서 데이터를 관리하고 처리하는 데 충분한 유연성을 제공하지 못한다. 두 번째와 세 번째 접근 방법은 데이터 전용 컨테이너나 호스트에 직접 저장하는 것이다. 네 번째 접근 방법은 서드파티 볼륨 플러그인인 플로커(Flocker)나 콘보이(Convoy)를 이용하는 것으로서 데이터를 별도의 블록에 저장하는데, 컨테이너를 한 호스트에서 다른 호스트로 옮길 때나 해당 컨테이너가 죽을 때도 데이터에 대한 신뢰성을 보장할 수 있다.
10장. '공용 클라우드(AWS와 애저)에 도커 배치하기'에서는 마이크로소프트 애저와 AWS에 도커를 배치하는 방법을 소개한다.


정보제공 : Aladin

저자소개

존 우튼(지은이)

안전하고, 간결하고, 지속성 있는 클라우드 아키텍처를 설계하는 글로벌 오픈소스 클라우드 컨설팅 회사인 컨설티드(CONSULTED)의 설립자이자 CEO다. 선도적인 클라우드 솔루션 아키텍트이자 오픈 테크놀로지 전략가로서 기업과 정부 기관을 위한 공용, 사설, 하이브리드 클라우드 시스템을 설계하고, 테스트하고, 배치하고, 관리하는 것과 관련해 깊이 있고 풍부한 실전 경험을 쌓았다. 주 전문 분야는 리눅스 시스템 관리, 오픈스택 클라우드, 도커 컨테이너다. 오픈소스 활동가로도 활동하면서 다양한 오픈소스 프로젝트와 커뮤니티에서 매우 헌신적으로 활동하고 있다. 가장 최근에는 오픈소스 프로젝트와 애플리케이션에 대한 선도적인 리포지터리와 대표적인 리소스인 외펜소스드(ÖppenSourced)의 설립자이자 메인테이너로 활동하고 있다. 업무 외에는 자칭 서핑족으로서 다음에 탈 만한 파도를 쫓아다니거나 한적한 곳에서 하이킹과 캠핑을 즐긴다.

라즈딥 두아(지은이)

클라우드와 빅데이터 분야에서 18년의 경력을 보유했다. 클라우드 인프라스트럭처와 머신 러닝 관련 프로젝트에 적극적으로 참여했을 뿐만 아니라, 이러한 기술을 세일즈포스, 구글, VMware 등에 홍보하는 활동도 여러 차례 수행했다. 현재 세일즈포스 인도 지사에서 개발자 관계 팀(Developer Relation)을 이끌고 있으며, 세일즈포스의 머신 러닝 팀 소속으로도 활동하고 있다. 도커 커뮤니티에 기여한 공로로 '도커 캡틴(Docker Captain)'으로 선정됐으며, 그동안 도커, 쿠버네티스, 안드로이드, 오픈스택, 클라우드 파운드리 등과 같은 프로젝트를 통해 오픈소스 커뮤니티에 기여했다. IIIT 하이데라바드, ISB, IIIT 델리, 푸네 공과 대학에서 클라우드와 빅데이터에 대해 강의하기도 했다. 러크나우 인도 경영 대학에서 IT 및 시스템 분야의 MBA를 취득했으며, 인도 파티알라의 타파르 대학교에서 BTech 학위를 취득했다.

바이브하브 콜리(지은이)

2018년 현재 VMware R&D 부서에서 근무하고 있으며, 명문 뭄바이 대학교에서 1년간 컴퓨터공학을 가르치기도 했다. VMware의 CTO 오피스에서 VMware IoT 프로젝트를 진행하고 있다. 「IEEE 트랜잭션」을 비롯한 일류 저널에 연구 논문을 여러 편 발표했고, VMware에서 컨테이너 기술과 관련해 여러 건의 특허도 출원했다. 참여한 빅데이터 프로젝트 중 일부는 전국 단위 프로젝트 쇼케이스 이벤트에서 최고 상을 받기도 했다. 여러 나라에서 워크숍, 해커톤, 트레이닝 세션, 트레이드 쇼를 수행했으며, IoT 및 도커 기술 관련 콘퍼런스의 발표자로도 명성을 날리고 있다. 또한 오픈소스 코드 기여자 및 리포지터리 관리자로도 적극적으로 활동하고 있으며, 도커와 쿠버네티스 관련 온라인 튜토리얼도 여러 차례 발표한 바 있다. 그동안 여러 고객과 기업을 대상으로 클라우드 네이티브 앱과 데브옵스 모델, 마이크로서비스 아키텍처로 이전하는 방법을 소개하는 데 기여했으며, 최근에는 도커 네트워킹 관련 책도 저술했다. 현재 최신 도커 및 쿠버네티스 기술에 관련된 인도 전역의 다양한 밋업 그룹을 관리하며 이끌고 있다.

남기혁(옮긴이)

고려대 컴퓨터학과에서 학부와 석사 과정을 마친 후 한국전자통신연구원에서 선임연구원으로 재직하고 있다. 한빛미디어에서 출간한 『Make: 센서』(2015), 『메이커 매뉴얼』(2016), 『이펙티브 디버깅』(2017), 『전문가를 위한 C++』(2019), 『리팩토링 2판』(2020)과 에이콘출판사에서 출간한 『현대 네트워크 기초 이론』(2016), 『도커 컨테이너』(2017), 『스마트 IoT 프로젝트』(2017), 『파이썬으로 배우는 인공지능』(2017), 『메이커를 위한 실전 모터 가이드』(2018), 『Go 마스터하기』(2018), 『자율주행 자동차 만들기』(2018), 『The Hundred-Page Machine Learning Book』(2019), 『스콧 애론슨의 양자 컴퓨팅 강의』(2021), 『자율주행차량 기술 입문』(2021) 등을 번역했다.

정보제공 : Aladin

목차

1장. 컨테이너 및 도커 개요
__컨테이너 개념
____OS 컨테이너
____애플리케이션 컨테이너
____도커 자세히 들여다보기
____도커 컨테이너의 장점
____도커 라이프사이클
____도커 설계 패턴
__유니커널
__요약

2장. 도커 설치 방법
__우분투에 도커 설치하기
____사전 준비 사항
____패키지 정보 업데이트
____새로운 GPG 키 추가하기
____문제 해결
____새로운 도커 패키지 소스 추가하기
____우분투 패키지 업데이트
____리눅스 이미지 엑스트라 설치
____옵션: 앱아머 설치
____도커 설치
__레드햇 리눅스에 도커 설치하기
____커널 버전 확인
____얌 패키지 업데이트
____얌 리포지터리 추가하기
____도커 패키지 설치하기
____도커 서비스 구동하기
____도커 설치 테스트하기
____설치 파라미터 확인
____문제 해결
__AWS에 CentOS VM을 배치해 도커 컨테이너 구동하기
____커널 버전 확인
____얌 패키지 업데이트
____얌 리포지터리 추가하기
____도커 패키지 설치하기
____도커 서비스 구동하기
____도커가 제대로 설치됐는지 확인하기
____설치 파라미터 확인하기
__CoreOS에 도커 설치하기
____CoreOS 채널 설치하기
____문제 해결
__페도라에 도커 설치하기
____커널 버전 확인
____DNF로 설치하기
____얌 리포지터리에 추가하기
____도커 패키지 설치하기
__스크립트로 도커 설치하기
____도커 설치 스크립트 실행하기
__수세 리눅스에 도커 설치하기
____AWS에 수세 리눅스 VM 구동하기
____커널 버전 확인
____Containers-Module 추가하기
____도커 설치하기
____도커 서비스 구동하기
____도커가 제대로 설치됐는지 확인하기
____문제 해결
__요약

3장. 베이스 및 레이어드 이미지 빌드 방법
__컨테이너 이미지 빌드하기
____도커 레지스트리에서 제공하는 공식 이미지
____베이스 이미지 직접 빌드하기
____레이어드 이미지 빌드하기
__빌드한 이미지 테스트하고 디버깅하기
____문제 해결과 관련된 도커 세부 사항
____docker version
____docker info
____데비안/우분투에서 발생한 문제의 해결 기법
____설치된 도커 이미지 목록 확인하기
____도커 이미지를 수동으로 구동하기
____캐시에 저장된 파일시스템 상태 확인하기
____이미지 레이어 ID를 디버그 컨테이너로 활용하기
____보충 예제
____오류가 발생한 컨테이너 프로세스 검사하기
____그 밖에 다른 유용한 정보
____sysdig으로 디버깅하기
____트러블슈팅: 오픈 커뮤니티에 공헌하기
__이미지 빌드 자동화
____단위 테스트를 적용한 배치
____테스트를 적용한 배치 작업을 자동화하기
__요약

4장. 마이크로서비스 및 N티어 애플리케이션 설계
__과장 혹은 오만
__모놀리딕 아키텍처
__N티어 애플리케이션 아키텍처
____3티어 웹 애플리케이션 만들기
__마이크로서비스 아키텍처
____최신 애플리케이션 구조로 전환하는 방법
____마이크로서비스 관리하기
____마이크로서비스 관리하기
____N티어 애플리케이션을 여러 개의 이미지로 분할하기
____애플리케이션을 구성하는 여러 티어가 함께 작동하게 만들기
__요약

5장. 컨테이너 기반 애플리케이션 다루기
__도커 레지스트리를 통한 재배포
____도커 공용 리포지터리(도커 허브)
____사설 도커 레지스트리
__도커 허브에 이미지 올리기
____사설 로컬 도커 레지스트리 설치
____이미지를 다른 호스트로 옮기기
____이미지 서명을 통해 무결성 보장하기
__도커 트러스티드 레지스트리
__도커 UCP
__요약

6장. 컨테이너 운영하기
__프리빌리지드 컨테이너
____트러블슈팅 팁
__수퍼 프리빌리지드 컨테이너
____도커 컨테이너의 규모 확장 관련 트러블슈팅
__퍼핏
____이미지
____컨테이너
____네트워킹
____도커 컴포즈
____트러블슈팅 팁
__앤서블
____앤서블을 이용한 도커 자동화
____앤서블 컨테이너
____트러블슈팅 팁
__셰프
__요약

7장. 도커 컨테이너의 네트워킹 스택 관리하기
__도커 네트워킹
__docker0 브릿지
____도커 브릿지 설정 관련 문제의 해결 방법
__DNS 설정
__컨테이너와 외부 네트워크 통신에 관련된 문제의 해결 방법
____특정 컨테이너에서 SSH 접속을 하지 못하게 제한하기
____컨테이너 링크하기
__립네트워크와 컨테이너 네트워크 모델
____CNM 오브젝트
__오버레이 및 언더레이 네트워크 기반의 도커 네트워킹 도구
____플래널
____위브
____프로젝트 칼리코
__도커 엔진 스웜 모드에서 오버레이 네트워크 설정하기
____멀티호스트 도커 네트워킹 솔루션 비교
__도커에서 OVS를 사용하도록 설정하기
____단일 호스트에 OVS를 설정하는 과정에서 발생하는 문제의 해결 방법
____OVS를 여러 호스트에 설정하는 과정에서 발생할 수 있는 문제의 해결 방법
__요약

8장. 쿠버네티스로 도커 컨테이너 관리하기
__베어메탈 머신에 쿠버네티스 배치하기
__페도라에서 쿠버네티스를 직접 설정할 때 발생할 수 있는 문제의 해결 방법
__미니큐브로 쿠버네티스 배치하기
__UIAWS에 쿠버네티스 배치하기
__vSphere에 쿠버네티스 배치하기
__쿠버네티스 설정 과정에서 발생하는 문제의 해결 방법
__쿠버네티스 포드 배치하기
__프로덕션 환경에 쿠버네티스 배치하기
__쿠버네티스 디버깅에 관련된 이슈
__요약

9장. 데이터 볼륨 사용법
__도커 볼륨을 제대로 이해해서 문제 예방하기
__기본 활용 사례: 도커 컨테이너에 데이터 저장하기
__데이터 전용 컨테이너
____데이터 전용 컨테이너 생성하기
____호스트와 도커 컨테이너끼리 데이터 공유하기
__호스트에 매핑된 볼륨을 공유 스토리지에 백업하기
____플로커
____플로커 클라이언트 노드에서 설정할 작업
____콘보이
__도커 스토리지 드라이버 성능
____UFS 기초
____도커에서 디바이스 매퍼를 사용하는 방식
__요약

10장. 공용 클라우드(AWS와 애저)에 도커 배치하기
__아마존 ECS 아키텍처
__아마존 ECS 배치 과정에서 발생하는 문제의 해결 방법
__ECS 클러스터에 있는 도커 컨테이너 업데이트하기
__마이크로소프트 애저 컨테이너 서비스 아키텍처
__마이크로소프트 애저 컨테이너 서비스 관련 문제의 해결 방법
__AWS 및 애저용 도커
__요약


정보제공 : Aladin

관련분야 신착자료