완벽한 IT 인프라 구축을 위한 Docker (인프라 기초 지식 & 코드를 사용한 환경 구축의 자동화 | 2 판)

완벽한 IT 인프라 구축을 위한 Docker (인프라 기초 지식 & 코드를 사용한 환경 구축의 자동화 | 2 판)

$25.00
Description
인프라 기초 지식+인프라 환경 구축 입문서의 결정판!
이 책은 컨테이너 기술을 사용한 애플리케이션 실행 환경 플랫폼인 ‘Docker’를 사용하여 인프라를 구축하기 위한 입문서입니다. 특히 온프레미스 서버(물리 환경)에 대한 구축 경험이 적은 애플리케이션 엔지니어를 대상으로 OS나 네트워크 기술과 같은 인프라의 기초 개념을 그림으로 설명하면서 Docker/Kubernetes를 사용한 인프라 구축 및 운용의 기본적인 흐름과 절차를 설명하고 있습니다.

제2판에서는 Docker의 새로운 기능 및 명령과 더불어, 멀티호스트 환경에서 실행 환경 구축이나 클라우드를 사용한 실행 환경 구축 및 운용 관리 등 프로그래머가 보다 더 주력해야 하는 부분에 대해 자세히 설명하고 있습니다.

책에서 다루는 주요 키워드
★ 컨테이너 기술과 Docker의 개요
★ Dockerfile을 사용하여 코드로 서버 구축
★ 멀티호스트 환경에서 Docker 실행 환경 구축
★ 설치와 튜토리얼
★ Docker 이미지의 공개
★ 클라우드를 사용한 Docker 실행 환경 구축
★ 시스템과 인프라의 기초 지식
★ Docker 명령
★ 여러 컨테이너의 운용 관리
★ 클라우드를 사용한 Docker 실행 환경의 운용 관리
저자

AsaShiho

WINGS프로젝트소속테크니컬라이터.금융계열싱크탱크등에서은행및증권용인프라엔지니어,제조업용인프라엔지니어로근무했다.도시은행정보기반시스템구축이나시스템통폐합,증권회사용백오피스시스템의공통기반개발,통합인증기반구축프로젝트,석유/LNG공장건설을하는엔지니어링기업의시스템기반구축프로젝트등을경험했다.출산으로이직후Linux나클라우드등을독학으로공부하여기술서적을집필했으며,약8년간의전업주부를거쳐2016년5월부터TIS주식회사의조사연구부서인전략기술센터에소속하여홍보를담당하고있다.

목차

들어가며
이책을읽기전에
 대상독자
 이책의특징
 동작확인환경
 이책의표기
 이책의서포트페이지
 샘플애플리케이션의다운로드

제1부도입편
제1장시스템과인프라기초지식
1.1시스템기반의기초지식
 시스템기반의구성요소
 클라우드와온프레미스
 클라우드가적합한케이스
 온프레미스가적합한케이스
 시스템기반의구축/운용흐름
1.2하드웨어와네트워크기초지식
 서버장비
 네트워크주소
OSI참조모델과통신프로토콜
 방화벽
 라우터/레이어3스위치
1.3OS(Linux)기초지식
Linux
 Linux커널
Linux파일시스템
Linux디렉토리구성
Linux보안기능
1.4미들웨어기초지식
 웹서버/웹애플리케이션서버
 데이터베이스서버
 시스템감시툴
1.5인프라구성관리기초지식
 인프라구성관리
 코드를사용한구성관리
 대표적인인프라구성관리툴
 지속적인티그레이션/지속적딜리버리

제2장컨테이너기술과Docker의개요
2.1컨테이너기술의개요
 컨테이너
 컨테이너역사
2.2Docker의개요
 프로그래머에게Docker란?
2.3Docker의기능
Docker이미지를만드는기능(Build)
 Docker이미지를공유하는기능(Ship)
 Docker컨테이너를작동시키는기능(Run)
 Docker에디션
Docker컴포넌트
2.4Docker의작동구조
 컨테이너를구획화하는장치(namespace)
릴리스관리장치(cgroups)
네트워크구성(가상브리지/가상NIC)
 Docker이미지의데이터관리장치

제2부기본편
제3장Docker설치와튜토리얼
3.1Docker설치와작동확인
Docker의클라이언트툴
DockerforMac설치하기
DockerforWindows설치하기
Linux에설치하기
Docker에서‘Helloworld’
Docker버전확인(dockerversion)
 Docker실행환경확인(dockersysteminfo)
 Docker디스크이용상황(dockersystemdf)
3.2웹서버를작동시켜보자
Docker이미지다운로드하기
Nginx를작동시켜보자
Nginx작동확인
Nginx기동및정지

제4장Docker명령
4.1Docker이미지조작
DockerHub
이미지다운로드(dockerimagepull)
이미지목록표시(dockerimagels)
이미지상세정보확인(dockerimageinspect)
이미지태그설정(dockerimagetag)
이미지검색(dockersearch)
이미지삭제(dockerimagerm)
 DockerHub에로그인(dockerlogin)
이미지업로드(dockerimagepush)
 DockerHub에서로그아웃(dockerlogout)
4.2Docker컨테이너생성/시작/정지
Docker컨테이너의라이프사이클
 컨테이너생성및시작(dockercontainerrun)
컨테이너의백그라운드실행(dockercontainerrun)
컨테이너의네트워크설정(dockercontainerrun)
자원을지정하여컨테이너생성및실행(dockercontainerrun)
컨테이너를생성및시작하는환경을지정(dockercontainerrun)
가동컨테이너목록표시(dockercontainerls)
컨테이너가동확인(dockercontainerstats)
컨테이너시작(dockercontainerstart)
컨테이너정지(dockercontainerstop)
컨테이너재시작(dockercontainerrestart)
컨테이너삭제(dockercontainerrm)
컨테이너중단/재개(dockercontainerpause/dockercontainerunpause)
4.3Docker컨테이너네트워크
 네트워크목록표시(dockernetworkls)
네트워크작성(dockernetworkcreate)
네트워크연결(dockernetworkconnect/dockernetworkdisconnect)
네트워크상세정보확인(dockernetworkinspect)
네트워크삭제(dockernetworkrm)
4.4가동중인Docker컨테이너조작
 가동컨테이너연결(dockercontainerattach)
가동컨테이너에서프로세스실행(dockercontainerexec)
가동컨테이너의프로세스확인(dockercontainertop)
가동컨테이너의포트전송확인(dockercontainerport)
컨테이너이름변경(dockercontainerrename)
컨테이너안의파일을복사(dockercontainercp)
컨테이너조작의차분확인(dockercontainerdiff)
4.5Docker이미지생성
 컨테이너로부터이미지작성(dockercontainercommit)
컨테이너를tar파일로출력(dockercontainerexport)
 tat파일로부터이미지작성(dockerimageimport)
이미지저장(dockerimagesave)
이미지읽어들이기(dockerimageload)
불필요한이미지/컨테이너를일괄삭제(dockersystemprune)

제5장Dockerfile을사용한코드에의한서버구축
5.1Dockerfile을사용한구성관리
Dockerfile이란?
Dockerfile의기본구문
Dockerfile작성
5.2Dockerfile의빌드와이미지레이어
Dockerfile로부터Docker이미지만들기
Docker이미지의레이어구조
5.3멀티스테이지빌드를사용한애플리케이션개발
Dockerfile만들기
Docker이미지의빌드
Docker컨테이너의시작
5.4명령및데몬실행
 명령실행(RUN실행)
데몬실행(CMD명령)
데몬실행(ENTRYPOINT명령)
빌드완료후에실행되는명령(ONBUILD명령)
시스템콜시그널의설정(STOPSIGNAL명령)
컨테이너의헬스체크명령(HEALTHCHECK명령)
5.5환경및네트워크설정
 환경변수설정(ENV명령)
작업디렉토리지정(WORKDIR명령)
사용자지정(USER명령)
라벨지정(LABEL명령)
포트설정(EXPOSE명령)
Dockerfile내변수의설정(ARG명령)
기본쉘설정(SHELL명령)
5.6파일설정
 파일및디렉토리추가(ADD명령)
파일복사(COPY명령)
볼룸마운트(VOLUME명령)

제6장Docker이미지공개
6.1Docker이미지의자동생성및공개
AutomatedBuild의흐름
GitHub에공개하기
DockerHub의링크설정
Dockerfile의빌드
Docker이미지확인
6.2DockerRegistry를사용한프라이빗레지스트리구축
 로컬환경에Docker레지스트리구축하기
Docker이미지업로드
Docker이미지의다운로드와작동확인
6.3클라우드서비스를사용한프라이빗레지스트리구축
GoogleContainerRegistry준비하기
Docker이미지의업로드
Docker이미지의다운로드와작동확인

제3부실행환경구축편
제7장여러컨테이너의운용관리
7.1여러컨테이너관리의개요
 웹3계층시스템아키텍처
 영구데이터의관리
DockerCompose
7.2웹애플리케이션을로컬에서움직여보자
Compose구성파일의작성
 여러Docker컨테이너시작
 여러Docker컨테이너정지
7.3DockerCompose를사용한여러컨테이너의구성관리
docker-compose.yml의개요
 이미지지정(image)
이미지빌드(build)
컨테이너안에서작동하는명령지정(command/entrypoint)
컨테이너간연결(links)
컨테이너간통신(ports/expose)
서비스의의존관계정의(depends_on)
컨테이너환경변수지정(environment/env_file)
컨테이너정보설정(container_name/labels)
컨테이너데이터관리(volumes/volumes_from)
7.4DockerCompose를사용한여러컨테이너의운용
DockerCompose의버전확인
DockerCOmpose의기본명령
 여러컨테이너의생성(up)
여러컨테이너확인(ps/logs)
컨테이너에서명령실행(run)
여러컨테이너시작/정지/재시작(start/stop/restart)
여러컨테이너일시정시/재개(pause/unpause)
서비스의구성확인(port/config)
여러컨테이너강제정지/삭제(kill/rm)
여러리소스의일괄삭제(down)

제8장멀티호스트환경에서Docker실행환경구축
8.1멀티호스트환경에서컨테이너관리의개요
 멀티호스트환경과클러스터링
DockerMachine이란?
8.2웹애플리케이션을서비스공개해보자
Docker실행환경작성
 웹애플리케이션전개
Docker실행환경삭제
8.3DockerMachine을사용한실행환경구축
DockerMachine의기본명령
 실행환경작성(create)
실행환경목록표시(ls/status/url)
실행환경에대한SSH연결(ssh)
실행환경시작/정지/재시작(start/stop/restart)
실행환경으로부터파일다운로드(scp)
실행환경삭제(rm/kill)
실행환경정보확인(ip/inspect)

제9장클라우드를사용한Docker실행환경구축
9.1클라우드환경에서Docker오케스트레이션하기
 분산환경에서의컨테이너운용관리
 퍼블릭클라우드가제공하는매니지드서비스
GoogleCloudPlatform의컨테이너관련서비스
9.2Kubernetes의개요
Kuberne

출판사 서평

인프라기초지식&코드를사용한환경구축의자동화

기존의시스템개발에종사하는업무애플리케이션엔지니어는고객의업무요구사항을이해하고거기에맞춰설계를하고,프로그래밍언어를사용하여시스템을구축한후사양대로기능이구현되었는지를테스트하는것이주요업무였습니다.오늘날에는거기에더해네트워크나OS의도입,시스템과데이터베이스서버와같은미들웨어의설계나운용관리와같은인프라구축의기초지식및구성관리,오케스트레이션툴의이용방법등이필요하게되었습니다.

이책은애플리케이션엔지니어가Docker를활용하기위해필요한정보와기초지식을짧은시간에효율적으로이해할수있도록아주초보적인Docker의사용법과명령들을설명하고있습니다.그리고가능한한추상적이고난해한용어를피하고그림과일러스트,구체적인명령의실행예를사용해서알기쉽게설명하고있는것이이책의큰특징입니다.