카테고리
국내도서 > 컴퓨터/모바일 > OS/Networking > 네트워크 구축
책소개
Linux 컨테이너 가상화 기술을 이용한 애플리케이션 실행 환경 플랫폼인 ‘Docker’를 사용하여 인프라를 구축할 수 있도록 돕는 입문서.
목차
1-1 인프라에 대한 기초 지식
인프라의 구성 요소
인프라 구축 및 운영 프로세스
1-2 네트워크 및 하드웨어에 대한 기초 지식
네트워크 Address
OSI 7 Layer와 통신 프로토콜
라우터와 L3 스위치
서버
1-3 OS(Linux)에 대한 기초 지식
Linux 개요
Linux 커널
Linux 파일 시스템
Linux 디렉터리 구성
Linux 보안 기능
1-4 미들웨어에 대한 기초 지식
웹 서버 및 웹 애플리케이션 서버
데이터베이스 서버
시스템 통합 운영 모니터링 툴
1-5 인프라 구성관리에 대한 기초 지식
인프라 구성관리
Infrastructure as Code
대표적인 인프라 구성관리 툴
2-1 가상화 기술
가상 환경
호스트 가상화
하이퍼바이저 가상화
컨테이너 가상화
2-2 컨테이너 가상화 기술의 역사
2000년~FreeBSD Jail
2005년~Solaris Containers
2-3 Docker의 특징
이식성
Docker 전용 Linux 배포판
2-4 Docker의 기본 기능
Docker 이미지 생성
Docker 컨테이너 동작
Docker 이미지 공개 및 공유
Docker 컴포넌트
Docker Engine (Docker의 코어 기능)
2-5 Docker의 동작 구조
컨테이너를 구분하는 구조(namespace)
리소스 관리 구조(cgroup)
네트워크 구성(가상 bridge 및 가상 NIC)
Docker 이미지의 데이터 관리 구조
3-1 Docker의 설치 방법과 동작 확인
Windows에서 설치
Linux에서 설치
TeraTerm 설치와 사용방법
Docker의 ‘Hello world’
Docker Kitematic을 통한 GUI로 Docker 동작 확인
3-2 Docker 이미지 실행
Docker Hub
이미지 다운로드(docker pull)
이미지 목록 출력(docker images)
이미지 세부 정보 확인(docker inspect)
이미지 태그 설정(docker tag)
이미지 검색(docker search)
이미지 삭제(docker rmi)
Docker Hub에 로그인(docker login)
이미지 업로드(docker push)
Docker Hub에서 로그아웃(docker logout)
3-3 Docker 컨테이너 생성·구동·중지
Docker 컨테이너 라이프 사이클
컨테이너 생성 및 구동(docker run)
컨테이너 백그라운드 실행(docker run)
컨테이너 네트워크 설정(docker run)
리소스를 설정하여 컨테이너 생성 및 실행(docker run)
컨테이너 생성 및 구동 환경 설정(docker run)
컨테이너 목록 확인(docker ps)
컨테이너 구동 확인(docker stats)
컨테이너 구동(docker start)
컨테이너 중지(docker stop)
컨테이너 재시작(docker restart)
컨테이너 삭제(docker rm)
컨테이너 일시정지 및 재시작(docker pause·docker unpause)
3-4 Docker 컨테이너 사용법
컨테이너 접속(docker attach)
컨테이너의 프로세스 실행(docker exec)
컨테이너의 프로세스 확인(docker top)
컨테이너의 포트 상태 확인(docker port)
컨테이너명 변경(docker rename)
컨테이너 내에서 파일 복사(docker cp)
컨테이너 내에서 파일 변경 이력 확인(docker diff)
3-5 Docker 정보 확인
Docker 버전 확인(docker version)
Docker 실행 환경 확인(docker info)
3-6 컨테이너에서 이미지 생성
컨테이너에서 이미지 생성(docker commit)
컨테이너를 tar 파일로 저장(docker export)
tar 파일에서 이미지 생성(docker import)
이미지 저장(docker save)
이미지로 되돌리기(docker load)
4-1 Dockerfile의 기본
Dockerfile의 용도
Dockerfile 기본 구성
Dockerfile 작성
Dockerfile로 Docker 이미지 생성
Docker 이미지 레이어 구조
4-2 커맨드 및 데몬 실행
커맨드 실행(RUN)
데몬 실행(CMD)
데몬 실행(ENTRYPOINT)
build 완료 후에 실행되는 명령(ONBUILD)
4-3 환경 및 네트워크 설정
환경변수 설정(ENV)
작업 디렉터리 설정(WORKDIR)
사용자 설정(USER)
라벨 설정(LABEL)
포트 설정(EXPOSE)
4-4 파일 시스템 설정
파일 및 디렉터리 추가(ADD)
파일 복사(COPY)
볼륨 마운트(VOLUME)
4-5 Docker 이미지 자동 생성 및 공개
Automated Build 흐름
GitHub에 공개
Docker Hub 링크 설정
Dockerfile build
Docker 이미지 확인
5-1 Private 레지스트리 구축 및 관리
Docker 레지스트리 구축
이미지 업로드
이미지 다운로드
5-2 Amazon S3를 사용하여 이미지 공유 187
Amazon S3 버킷 생성
Amazon S3 버킷 액세스키
private 레지스트리 구동
이미지 업로드 및 다운로드
6-1 Docker로 구축하는 웹 시스템에 대한 기초 지식
3계층 웹 시스템 아키텍처(3-Tier Web Application Architecture)
데이터 관리
Docker 컨테이너 간 링크
6-2 Docker Compose 설치
Docker Compose
Docker Compose 설치
6-3 구성 파일(docker-compose.yml)
docker-compose.yml로 구성관리
베이스 이미지 지정(image/build)
컨테이너 내에서 동작하는 커맨드 지정(command)
컨테이너 간 링크 연계(links/external_links)
컨테이너 간 통신(ports/expose)
컨테이너 데이터 관리(volumes/volumes_from)
컨테이너 환경변수 지정(environment)
컨테이너 정보 설정(container_name/labels)
6-4 Docker Compose 커맨드
Docker Compose의 커맨드
여러 개의 컨테이너를 한 번에 생성(up)
생성할 컨테이너 개수 지정(scale)
여러 컨테이너 확인(ps/logs)
컨테이너에서 커맨드 실행(run)
여러 컨테이너 강제 종료 및 삭제(kill/rm)
6-5 Docker Compose를 사용하여 WordPress 시스템 구축
WordPress 시스템 구성
데이터 전용 컨테이너 생성
웹 서버와 DB 서버용 컨테이너 생성
컨테이너 구동과 데이터 확인
여러 컨테이너 일괄 구동 확인 및 커맨드의 실행·중지·삭제
데이터 전용 컨테이너 백업 및 복구
7-1 멀티 호스트 환경에서 컨테이너 운영
멀티 호스트 환경과 클러스터링
Docker Machine과 Docker Swarm
7-2 Docker Machine 커맨드
Docker Machine 커맨드
실행 환경 생성(create)
실행 환경 목록(ls/status)
실행 환경에 SSH 접속(ssh)
환경변수 확인(env)
실행 환경에서 파일 다운로드(scp)
실행 환경 삭제(rm/kill)
실행 환경 정보(ip/inspect)
7-3 Docker Machine으로 Dockert 실행 환경 구축
Docker Machine으로 Docker 실행 환경 구성
VirtualBox에서 Docker 실행 환경을 구축하는 방법
Amazon EC2에서 Docker 실행 환경을 구축하는 방법
7-4 Docker Swarm으로 클러스터 관리
Docker Swarm으로 클러스터 환경 구축
클러스터 환경에서 컨테이너 동작 확인
7-5 SaaS로 컨테이너 모니터링
서버 모니터링 개요
Mackerel에서 컨테이너 모니터링하기
Datadog에서 컨테이너 모니터링하기
8-1 클라우드 환경에서 Docker 지원
Docker를 둘러싼 클라우드 환경
Amazon Web Services에서의 Docker 서포트