상세정보
미리보기
완벽한 IT 인프라 구축을 위한 Docker (2판)
- 저자
- Asa Shiho 저이영란 역
- 출판사
- 정보문화사
- 출판일
- 2018-10-01
- 등록일
- 2019-06-20
- 파일포맷
- PDF
- 파일크기
- 51MB
- 공급사
- 예스이십사
- 지원기기
-
PC
PHONE
TABLET
웹뷰어
프로그램 수동설치
뷰어프로그램 설치 안내
책소개
인프라 기초 지식 인프라 환경 구축 입문서의 결정판!이 책은 컨테이너 기술을 사용한 애플리케이션 실행 환경 플랫폼인 ‘Docker’를 사용하여 인프라를 구축하기 위한 입문서이다. 특히 온프레미스 서버(물리 환경)에 대한 구축 경험이 적은 애플리케이션 엔지니어를 대상으로 OS나 네트워크 기술과 같은 인프라의 기초 개념을 그림으로 설명하면서 Docker/Kubernetes를 사용한 인프라 구축 및 운용의 기본적인 흐름과 절차를 설명하고 있다.제2판에서는 Docker의 새로운 기능 및 명령과 더불어, 멀티호스트 환경에서 실행 환경 구축이나 클라우드를 사용한 실행 환경 구축 및 운용 관리 등 프로그래머가 보다 더 주력해야 하는 부분에 대해 자세히 설명하고 있다.
저자소개
WINGS 프로젝트 소속 테크니컬 라이터. 금융계열 싱크탱크 등에서 은행 및 증권용 인프라 엔지니어, 제조업용 인프라 엔지니어로 근무했다. 도시은행 정보 기반 시스템 구축이나 시스템 통폐합, 증권회사용 백오피스 시스템의 공통 기반 개발, 통합인증 기반 구축 프로젝트, 석유/LNG 공장 건설을 하는 엔지니어링 기업의 시스템 기반 구축 프로젝트 등을 경험했다. 출산으로 이직 후 Linux나 클라우드 등을 독학으로 공부하여 기술서적을 집필했으며, 약 8년 간의 전업주부를 거쳐 2016년 5월부터 TIS 주식회사의 조사연구부서인 전략기술센터에 소속하여 홍보를 담당하고 있다.
목차
_들어가며_이 책을 읽기 전에대상 독자이 책의 특징동작 확인 환경이 책의 표기이 책의 서포트 페이지샘플 애플리케이션의 다운로드제1부 도입편제1장 시스템과 인프라 기초 지식1.1 시스템 기반의 기초 지식시스템 기반의 구성 요소클라우드와 온프레미스클라우드가 적합한 케이스온프레미스가 적합한 케이스시스템 기반의 구축/운용 흐름1.2 하드웨어와 네트워크 기초 지식서버 장비네트워크 주소OSI 참조 모델과 통신 프로토콜방화벽라우터/레이어 3 스위치1.3 OS(Linux) 기초 지식LinuxLinux 커널Linux 파일 시스템Linux 디렉토리 구성Linux 보안 기능1.4 미들웨어 기초 지식웹 서버/웹 애플리케이션 서버데이터베이스 서버시스템 감시 툴1.5 인프라 구성 관리 기초 지식인프라 구성 관리코드를 사용한 구성 관리대표적인 인프라 구성 관리 툴지속적 인티그레이션/지속적 딜리버리제2장 컨테이너 기술과 Docker의 개요2.1 컨테이너 기술의 개요컨테이너컨테이너 역사2.2 Docker의 개요프로그래머에게 Docker란?2.3 Docker의 기능Docker 이미지를 만드는 기능(Build)Docker 이미지를 공유하는 기능(Ship)Docker 컨테이너를 작동시키는 기능(Run)Docker 에디션Docker 컴포넌트2.4 Docker의 작동 구조컨테이너를 구획화하는 장치(namespace)릴리스 관리 장치(cgroups)네트워크 구성(가상 브리지/가상 NIC)Docker 이미지의 데이터 관리 장치제2부 기본편제3장 Docker 설치와 튜토리얼3.1 Docker 설치와 작동 확인Docker의 클라이언트 툴Docker for Mac 설치하기Docker for Windows 설치하기Linux에 설치하기Docker에서 ‘Hello world’Docker 버전 확인(docker version)Docker 실행 환경 확인(docker system info)Docker 디스크 이용 상황(docker system df)3.2 웹 서버를 작동시켜 보자Docker 이미지 다운로드하기Nginx를 작동시켜 보자Nginx 작동 확인Nginx 기동 및 정지제4장 Docker 명령4.1 Docker 이미지 조작Docker Hub이미지 다운로드(docker image pull)이미지 목록 표시(docker image ls)이미지 상세 정보 확인(docker image inspect)이미지 태그 설정(docker image tag)이미지 검색(docker search)이미지 삭제(docker image rm)Docker Hub에 로그인(docker login)이미지 업로드(docker image push)Docker Hub에서 로그아웃(docker logout)4.2 Docker 컨테이너 생성/시작/정지Docker 컨테이너의 라이프 사이클컨테이너 생성 및 시작(docker container run)컨테이너의 백그라운드 실행(docker container run)컨테이너의 네트워크 설정(docker container run)자원을 지정하여 컨테이너 생성 및 실행(docker container run)컨테이너를 생성 및 시작하는 환경을 지정(docker container run)가동 컨테이너 목록 표시(docker container ls)컨테이너 가동 확인(docker container stats)컨테이너 시작(docker container start)컨테이너 정지(docker container stop)컨테이너 재시작(docker container restart)컨테이너 삭제(docker container rm)컨테이너 중단/재개(docker container pause/docker container unpause)4.3 Docker 컨테이너 네트워크네트워크 목록 표시(docker network ls)네트워크 작성(docker network create)네트워크 연결(docker network connect/docker network disconnect)네트워크 상세 정보 확인(docker network inspect)네트워크 삭제(docker network rm)4.4 가동 중인 Docker 컨테이너 조작가동 컨테이너 연결(docker container attach)가동 컨테이너에서 프로세스 실행(docker container exec)가동 컨테이너의 프로세스 확인(docker container top)가동 컨테이너의 포트 전송 확인(docker container port)컨테이너 이름 변경(docker container rename)컨테이너 안의 파일을 복사(docker container cp)컨테이너 조작의 차분 확인(docker container diff)4.5 Docker 이미지 생성컨테이너로부터 이미지 작성(docker container commit)컨테이너를 tar 파일로 출력(docker container export)tat 파일로부터 이미지 작성(docker image import)이미지 저장(docker image save)이미지 읽어 들이기(docker image load)불필요한 이미지/컨테이너를 일괄 삭제(docker system prune)제5장 Dockerfile을 사용한 코드에 의한 서버 구축5.1 Dockerfile을 사용한 구성 관리Dockerfile이란?Dockerfile의 기본 구문Dockerfile 작성5.2 Dockerfile의 빌드와 이미지 레이어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.1 Docker 이미지의 자동 생성 및 공개Automated Build의 흐름GitHub에 공개하기Docker Hub의 링크 설정Dockerfile의 빌드Docker 이미지 확인6.2 Docker Registry를 사용한 프라이빗 레지스트리 구축로컬 환경에 Docker 레지스트리 구축하기Docker 이미지 업로드Docker 이미지의 다운로드와 작동 확인6.3 클라우드 서비스를 사용한 프라이빗 레지스트리 구축Google Container Registry 준비하기Docker 이미지의 업로드Docker 이미지의 다운로드와 작동 확인제3부 실행 환경 구축편제7장 여러 컨테이너의 운용 관리7.1 여러 컨테이너 관리의 개요웹 3계층 시스템 아키텍처영구 데이터의 관리Docker Compose7.2 웹 애플리케이션을 로컬에서 움직여 보자Compose 구성 파일의 작성여러 Docker 컨테이너 시작여러 Docker 컨테이너 정지7.3 Docker Compose를 사용한 여러 컨테이너의 구성 관리docker-compose.yml의 개요이미지 지정(image)이미지 빌드(build)컨테이너 안에서 작동하는 명령 지정(command/entrypoint)컨테이너 간 연결(links)컨테이너 간 통신(ports/expose)서비스의 의존관계 정의(depends_on)컨테이너 환경변수 지정(environment/env_file)컨테이너 정보 설정(container_name/labels)컨테이너 데이터 관리(volumes/volumes_from)7.4 Docker Compose를 사용한 여러 컨테이너의 운용Docker Compose의 버전 확인Docker COmpose의 기본 명령여러 컨테이너의 생성(up)여러 컨테이너 확인(ps/logs)컨테이너에서 명령 실행(run)여러 컨테이너 시작/정지/재시작(start/stop/restart)여러 컨테이너 일시 정시/재개(pause/unpause)서비스의 구성 확인(port/config)여러 컨테이너 강제 정지/삭제(kill/rm)여러 리소스의 일괄 삭제(down)제8장 멀티호스트 환경에서 Docker 실행 환경 구축8.1 멀티호스트 환경에서 컨테이너 관리의 개요멀티호스트 환경과 클러스터링Docker Machine이란?8.2 웹 애플리케이션을 서비스 공개해 보자Docker 실행 환경 작성웹 애플리케이션 전개Docker 실행 환경 삭제8.3 Docker Machine을 사용한 실행 환경 구축Docker Machine의 기본 명령실행 환경 작성(create)실행 환경 목록 표시(ls/status/url)실행 환경에 대한 SSH 연결(ssh)실행 환경 시작/정지/재시작(start/stop/restart)실행 환경으로부터 파일 다운로드(scp)실행 환경 삭제(rm/kill)실행 환경 정보 확인(ip/inspect)제9장 클라우드를 사용한 Docker 실행 환경 구축9.1 클라우드 환경에서 Docker 오케스트레이션하기분산 환경에서의 컨테이너 운용 관리퍼블릭 클라우드가 제공하는 매니지드 서비스Google Cloud Platform의 컨테이너 관련 서비스9.2 Kubernetes의 개요Kubernetes의 서버 구성애플리케이션 구성 관리(Pod, ReplicaSet, Deployment)네트워크 관리(Service)Label을 사용한 리소스 식별Kubernetes의 구조9.3 GCP를 사용한 Docker 애플리케이션 개발애플리케이션 개발 흐름소스코드 관리(Cloud Source Repositories)Docker 이미지 빌드(Cloud Container Builder)9.4 GCP를 사용한 Docker 애플리케이션 실행 환경 구축Kubernetes 클러스터 구축애플리케이션의 설정 정보 관리(ConfigMap, Secrets)앱의 전개(Deployment)서비스 공개(Service)앱의 버전업(Blue-Green Deployment)배치 잡 실행(CronJob)제10장 클라우드를 사용한 Docker 실행 환경의 운용 관리10.1 시스템 운용의 기초 지식가용성 관리수용성(Capacity) 관리시스템 감시10.2 GKE를 사용한 Docker 실행 환경의 운용Kubernetes의 스테이터스 확인Kubernetes의 Pod 관리Kubernetes의 노드 관리Kubernetes의 리소스 작성/삭제/변경Kubernetes의 업그레이드/다운그레이드Stackdriver에서 로그 확인부록 Google Cloud Platform 사용법A.1 계정 등록[1] 등록 시작[2] 계정 정보 등록A.2 프로젝트 작성과 삭제[1] 프로젝트 작성[2] 프로젝트명 설정[3] 프로젝트 삭제A.3 Cloud Console 사용법툴과 서비스대시보드A.4 Cloud Shell 사용법A.5 Cloud SDK 설치하기