길벗·이지톡

도서 IT전문서/IT입문서 임베디드/시스템/네트워크
클라우드 플랫폼 어디서나 빠르게 배포하고 실행할 수 있는 리눅스 기반 경량화 컨테이너 가장 빨리 만나는 도커 Docker
정 가
26,000원
I S B N
9788966188383
출 간
2014-11-30
분 량
360쪽
지 은 이
이재홍
난 이 도
중급
부 록
예제 소스

어떤 클라우드에서도 빠르게 배포한다!

한 번 빌드하면 어디서나 실행할 수 있는 애플리케이션 배포 시스템
Docker만 있으면 언제 어디서나 애플리케이션을 실행할 수 있는 안전한 런타임 환경을 구성할 수 있다. 시스템에 따라 설치, 설정, 의존성 같은 반복 작업을 하지 않아도 애플리케이션을 빠르게 배포하는 것이 가능하다. 가상 머신이 시스템간 호환성, 이동성에 제약이 있다면 Docker는 그런 제약에서 자유롭다. 아마존 웹 서비스, 구글 클라우드 플랫폼, 마이크로소프트 애저 같은 플랫폼을 자유롭게 이동하고 배포할 수 있다.

가상 머신의 부하 없이 즐기는 가상 환경
하이퍼바이저가 CPU, RAM, 스토리지 같은 하드웨어를 전부 추상화했다면, Docker는 운영체제 커널만 추상화했다. Docker는 운영체제를 공유하면서 애플리케이션에 필요한 가상화와 격리를 제공하기 때문에 가볍고 빠르다. 이미지 생성, 스냅샷 생성, 초기화도 Docker라면 빠르게 처리할 수 있다. 

개발자와 운영자를 위한 진정한 배포 시스템
런타임 환경을 한 번 만들고, 패키징만 하면 어떤 머신에서나 반복해서 실행할 수 있다. 가상 머신처럼 호스트와 격리된 환경에서 실행된다. 개발자는 코드 품질에 더 많은 시간을 집중할 수 있고, 운영자는 개별 서버를 일일이 관리하는 대신 배포 이미지 관리에 집중함으로써 시스템의 일관성을 높일 수 있다. Docker 기반 배포를 구현하면 개발, 테스트, 서비스 단계의 시스템 불일치나 호환성 문제를 줄이거나 제거할 수 있다.

예제소스
https://github.com/gilbutitbook/006756

목차

1장 ▶ Docker

__1.1  가상 머신과 Docker
____1.1.1  가상 머신
____1.1.2  Docker
____1.1.3  리눅스 컨테이너
__1.2  Docker 이미지와 컨테이너

2장 ▶ Docker 설치하기

__2.1  리눅스
____2.1.1  자동 설치 스크립트
____2.1.2  우분투
____2.1.3  RedHat Enterprise Linux, CentOS
____2.1.4  최신 바이너리 사용하기
__2.2  Mac OS X
__2.3  Windows

3장 ▶ Docker 사용해보기

__3.1  search 명령으로 이미지 검색하기
__3.2  pull 명령으로 이미지 받기
__3.3  images 명령으로 이미지 목록 출력하기
__3.4  run 명령으로 컨테이너 생성하기
__3.5  ps 명령으로 컨테이너 목록 확인하기
__3.6  start 명령으로 컨테이너 시작하기
__3.7  restart 명령으로 컨테이너 재시작하기
__3.8  attach 명령으로 컨테이너에 접속하기
__3.9  exec 명령으로 외부에서 컨테이너 안의 명령 실행하기
__3.10  stop 명령으로 컨테이너 정지하기
__3.11  rm 명령으로 컨테이너 삭제하기
__3.12  rmi 명령으로 이미지

4장 ▶ Docker 이미지 생성하기

__4.1  Bash 익히기
__4.2  Dockerfile 작성하기
__4.3  build 명령으로 이미지 생성하기

5장 ▶ Docker 살펴보기

__5.1  history 명령으로 이미지 히스토리 살펴보기
__5.2  cp 명령으로 파일 꺼내기
__5.3  commit 명령으로 컨테이너의 변경사항을 이미지로 생성하기
__5.4  diff 명령으로 컨테이너에서 변경된 파일 확인하기
__5.5  inspect 명령으로 세부 정보 확인하기

6장 ▶ Docker 좀 더 활용하기

__6.1  Docker 개인 저장소 구축하기
____6.1.1  로컬에 이미지 데이터 저장
____6.1.2  push 명령으로 이미지 올리기
____6.1.3  Amazon S3에 이미지 데이터 저장
____6.1.4  기본 인증 사용하기
__6.2  Docker 컨테이너 연결하기
__6.3  다른 서버의 Docker 컨테이너에 연결하기
__6.4  Docker 데이터 볼륨 사용하기
__6.5  Docker 데이터 볼륨 컨테이너 사용하기
__6.6  Docker 베이스 이미지 생성하기
____6.6.1  우분투 베이스 이미지 생성하기
____6.6.2  CentOS 베이스 이미지 생성하기
____6.6.3  빈 베이스 이미지 생성하기
__6.7  Docker 안에서 Docker 실행하기

7장 ▶ Dockerfile 자세히 알아보기

__7.1  .dockerignore
__7.2  FROM
__7.3  MAINTAINER
__7.4  RUN
__7.5  CMD
__7.6  ENTRYPOINT
__7.7  EXPOSE
__7.8  ENV
__7.9  ADD
__7.10  COPY
__7.11  VOLUME
__7.12  USER
__7.13  WORKDIR
__7.14  ONBUILD

8장 ▶ Docker로 애플리케이션 배포하기

__8.1  서버 한 대에 애플리케이션 배포하기
____8.1.1  개발자 PC에서 Git 설치 및 저장소 생성하기
____8.1.2  개발자 PC에서 Node.js로 웹 서버 작성하기
____8.1.3  개발자 PC에서 Dockerfile 작성하기
____8.1.4  개발자 PC에서 SSH 키 생성하기
____8.1.5  서버에 Git 설치 및 저장소 생성하기
____8.1.6  서버에 Docker 설치하기
____8.1.7  서버에 SSH 키 설정하기
____8.1.8  서버에 Git Hook 설정하기
____8.1.9  개발자 PC에서 소스 Push하기
__8.2  서버 여러 대에 애플리케이션 배포하기
____8.2.1  개발자 PC에서 Git 설치 및 저장소 생성하기
____8.2.2  개발자 PC에서 Node.js로 웹 서버 작성하기
____8.2.3  개발자 PC에서 Dockerfile 작성하기
____8.2.4  개발자 PC에서 SSH 키 생성하기
____8.2.5  배포 서버에 Git 설치 및 저장소 생성하기
____8.2.6  배포 서버에서 SSH 키 생성하기
____8.2.7  배포 서버에 Docker 설치하기
____8.2.8  배포 서버에 Docker 레지스트리 서버 설정하기
____8.2.9  배포 서버에 SSH 키 설정하기
____8.2.10  배포 서버에 Git Hook 설정하기
____8.2.11  애플리케이션 서버에 Docker 설치하기
____8.2.12  애플리케이션 서버에 SSH 키 설정하기
____8.2.13  개발자 PC에서 소스 Push

9장 ▶ Docker 모니터링하기

__9.1  모니터링 서버 Dockerfile 작성하기
__9.2  애플리케이션 서버 Dockerfile 작성
__9.3  웹 브라우저에서 그래프 확인

10장 ▶ Amazon Web Services에서 Docker 사용하기

__10.1  Amazon EC2에서 Docker 사용하기
__10.2  AWS Elastic Beanstalk에서 Docker 사용하기
____10.2.1  AWS 콘솔에서 Docker 애플리케이션 배포하기
____10.2.2  Docker Hub 공개 저장소 이미지 사용하기
____10.2.3  Docker Hub 개인 저장소 이미지 사용하기
____10.2.4  Git으로 Elastic Beanstalk Docker 애플리케이션 배포하기

11장 ▶ Google Cloud Platform에서 Docker 사용하기

__11.1  Google Cloud SDK 설정하기
__11.2  Compute Engine에서 Docker 사용하기
__11.3  Container Engine에서 Docker 사용하기

12장 ▶ Microsoft Azure에서 Docker 사용하기

13장 ▶ Docker Hub 사용하기

__13.1  Docker Hub 가입하기
__13.2  push 명령으로 이미지 올리기
__13.3  Docker Hub 개인 저장소 생성하기
__13.4  Docker Hub Automated Build 활용하기

14장 ▶ Docker Remote API 사용하기

__14.1  Docker Remote API Python 라이브러리 사용하기
____14.1.1  컨테이너 생성 및 시작하기
____14.1.2  이미지 생성하기
____14.1.3  컨테이너 목록 출력하기
____14.1.4  이미지 목록 출력하기
____14.1.5  기타 예제 및 함수
__14.2  Docker Remote API Python 라이브러리로 HTTPS 통신하기
____14.2.1  인증서 생성하기
____14.2.2  Python 라이브러리 사용하기

15장 ▶ CoreOS 사용하기

__15.1  VirtualBox에 CoreOS 설치하기
____15.1.1  systemd로 서비스 실행하기
__15.2  Vagrant로 CoreOS 설치하기
__15.3  etcd 사용하기
____15.3.1  etcd 키, 디렉터리 생성하기
____15.3.2  etcd 키, 디렉터리 목록 출력하기
____15.3.3  etcd 키, 디렉터리 자동 삭제 설정하기
____15.3.4  etcd 키 감시하기
____15.3.5  etcd 기타 명령
__15.4  fleet 사용하기
____15.4.1  fleet 머신 목록 출력하기
____15.4.2  fleet으로 유닛 실행하기
____15.4.3  fleet 유닛 목록 출력하기
____15.4.4  fleet 유닛 상태 확인하기
____15.4.5  fleet 자동 복구 확인하기
____15.4.6  fleet 전용 옵션 사용하기
____15.4.7  fleet 유닛 파일 템플릿 활용하기
____15.4.8  fleet 사이드킥 모델 활용하기
____15.4.9  fleet 기타 명령
__15.5  클라우드 서비스에서 CoreOS 사용하기
____15.5.1  Amazon EC2에서 CoreOS 사용하기
____15.5.2  Google Compute Engine에서 CoreOS 사용하기

16장 ▶ Docker로 워드프레스 블로그 구축하기

__16.1  워드프레스 Dockerfile 작성하기
__16.2  MySQL 데이터베이스 Dockerfile 작성하기
__16.3  워드프레스와 데이터베이스 컨테이너 생성하기

17장 ▶ Docker로 Ruby on Rails 애플리케이션 구축하기

__17.1  Ruby와 Rails 설치하기
__17.2  Rails Dockerfile 작성하기
__17.3  PostgreSQL 데이터베이스 Dockerfile 작성하기
__17.4  Rails와 데이터베이스 컨테이너 생성하기

18장 ▶ Docker로 Django 애플리케이션 구축하기

__18.1  Django 설치하기
__18.2  Django Dockerfile 작성하기
__18.3  Oracle 데이터베이스 Dockerfile 작성하기
__18.4  Django와 데이터베이스 컨테이너 생성하기

19장 ▶ Docker 활용 시나리오

__19.1  로드 밸런서와 연계한 확장 전개
__19.2  개발, 테스트, 운영을 통합
__19.3  손쉬운 서비스 이전
__19.4  테스트 용도

20장 ▶ Docker 명령어 및 옵션 목록

__20.1  attach
__20.2  build
__20.3  commit
__20.4  cp
__20.5  create
__20.6  diff
__20.7  events
__20.8  exec
__20.9  export
__20.10  history
__20.11  images
__20.12  import
__20.13  info
__20.14  inspect
__20.15  kill
__20.16  load
__20.17  login
__20.18  logout
__20.19  logs
__20.20  port
__20.21  pause
__20.22  ps
__20.23  pull
__20.24  push
__20.25  restart
__20.26  rm
__20.27  rmi
__20.28  run
__20.29  save
__20.30  search
__20.31  start
__20.32  stop
__20.33  tag
__20.34  top
__20.35  unpause
__20.36  version
__20.37  wait


부록 ▶

01.  Docker 컴파일하기
02.  우분투 한국 미러 사용하기
03.  참고 사이트
더보기접기

저자

ㆍ지은이 이재홍

지은이 소개
YRASIS.COM이라는 개인 웹사이트를 운영하고 있으며, 여러 가지 기술 문서를 작성하여 공개해왔다. 엔씨소프트에서 리니지 이터널 개발에 참여하였고, 엔트리브소프트에서 모바일 게임 서버를 개발했다. 또한, FFS File System Driver for Windows라는 오픈 소스 프로젝트를 진행하기도 하였으며, 최근에는 모바일 게임 엔진인 Cocos2d-x를 Tizen용으로 개발하여 메인스트림에 포함시켰다. 현재 주 관심 분야는 운영체제 커널, 파일시스템, 소프트웨어 개발 자동화, 게임 엔진, 클라우드 플랫폼, 분산 처리 시스템이다. 완전 자동화된 나만의 집을 짓는 것과 오픈 소스 재단 설립이 꿈이다. 사이트 http://pyrasis.com 주요 저서 <윈도우 프로젝트 필수 유틸리티: Subversion, Trac, CruiseControl.NET>(한빛미디어) <아마존 웹 서비스를 다루는 기술>(길벗) <가장 빨리 만나는 Docker>(길벗)

연관 프로그램

아래 프로그램은 길벗출판사가 제공하는 것이 아닙니다.
무료로 사용할 수 있는 정보를 안내해 드리니, 지원이 필요하면 해당 프로그렘 제작사로 문의해 주세요.