본문내용 바로가기
MD의선택 무료배송 사은품 소득공제

따라하며 배우는 도커와 CI 환경 컨테이너 이론부터 Travis CI, AWS 실습까지

위키북스 시스템 & 네트워크 시리즈 11
안재원 지음 | 위키북스 | 2021년 11월 19일 출간
  • 정가 : 28,000원
    판매가 : 25,200 [10%↓ 2,800원 할인]
  • 혜택 :
    [기본적립] 1400원 적립 [5% 적립] [추가적립] 5만원 이상 구매 시 2,000원 추가적립 안내 [회원혜택] 회원 등급 별, 3만원 이상 구매 시 2~4% 추가적립 안내 [리뷰적립] 리뷰 작성 시 e교환권 최대 300원 추가적립 안내
  • 추가혜택 : 포인트 안내 도서소득공제 안내 추가혜택 더보기
  • 배송비 : 무료 배송비 안내
  • 배송일정 : 서울특별시 종로구 세종대로 기준 지역변경
    당일배송 지금 주문하면 오늘(30일,화) 도착 예정 배송일정 안내
  • 바로드림 : 인터넷으로 주문하고 매장에서 직접 수령 안내 바로드림 혜택
    휴일에는 바로드림 픽업으로 더 빨리 받아 보세요. 바로드림 혜택받고 이용하기

이 책의 이벤트

해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.
  • 2021 올해의 IT 책 투표하고 e-교환권 받으세요!(선착순 ..
    2021.11.22 ~ 2021.12.03
  • 2022 캘린더 수록한 IT독자를 위한 readIT 노트 사은품
    2021.10.14 ~ 2021.12.31
상품상세정보
ISBN 9791158392864(1158392869)
쪽수 356쪽
크기 189 * 241 * 26 mm /799g 판형알림

책소개

이 책이 속한 분야

《따라하며 배우는 도커와 CI 환경》과 함께 더 쉽게, 더 깊이 있게 도커를 만나보세요!
이 책의 전반부에서는 도커 컨테이너와 도커 이미지가 무엇인지부터 도커 컴포즈까지 도커에 관해 알아봅니다. 다양한 도해와 함께 설명함으로써 도커를 더욱더 쉽게 이해할 수 있고, 깊이 있게 공부할 수 있습니다.

전반부에서 도커의 기본기를 탄탄하게 다진 후에, 이 책의 후반부에서는 두 가지 애플리케이션을 만들어 봅니다. 깃허브, Travis CI, AWS를 이용한 CI/CD 환경을 구축해보면서 실제 실무에서 도커를 어떻게 활용하는지 실습합니다. 깃허브, Travis CI, AWS를 사용한 경험이 없더라도 한 단계씩 차근차근 만들어 나가므로 부담 없이 공부할 수 있습니다.

상세이미지

따라하며 배우는 도커와 CI 환경(위키북스 시스템 & 네트워크 시리즈 11) 도서 상세이미지

목차

▣ 01장: 도커란?
1.1 도커를 사용하는 이유
___도커를 사용하지 않을 때와 도커를 사용해 프로그램을 설치할 때
___도커를 사용하지 않고 레디스 설치하기
___도커를 사용해 레디스 설치하기
1.2 도커와 컨테이너
___실 세계의 컨테이너
___도커에서의 컨테이너
1.3 도커 이미지와 도커 컨테이너
1.4 도커 설치하기
___도커 회원 가입하기
___윈도우 환경에서 도커 설치하기
___macOS 환경에서 도커 설치하기
1.5 도커를 사용할 때의 흐름
1.6 도커와 기존 가상화 기술의 차이점
___가상화 기술이 나오기 전에 서버를 사용하던 방식
___하이퍼바이저 기반의 가상화 기술
___하이퍼바이저의 종류
___더 자세하게 도커 컨테이너 살펴보기
___Cgroup과 네임스페이스
1.7 도커 이미지로 도커 컨테이너 만들기
___응용 프로그램을 실행하는 데 필요한 모든 것
___도커 컨테이너가 생성되는 순서
1.8 Cgroup, 네임스페이스를 쓸 수 있는 이유

▣ 02장: 기본적인 도커 클라이언트 명령어
2.1 도커 이미지의 내부 파일 구조 보기 - docker run ls
2.2 컨테이너 나열하기 - docker ps
___현재 실행 중인 컨테이너 나열
___도커 컨테이너를 나열할 때 원하는 항목만 보기
___모든 도커 컨테이너를 나열
2.3 도커 컨테이너의 생성과 실행
___도커 컨테이너를 생성하고 실행하기 - docker run 〈이미지 이름〉
___도커 컨테이너 생성하기 - docker create 〈이미지 이름〉
___생성된 도커 컨테이너 실행하기 - docker start 〈컨테이너 ID/이름〉
2.4 도커 컨테이너 멈추기
___도커 컨테이터를 우아하게 중지하기 - docker stop 〈컨테이너 ID/이름〉
___도커 컨테이터를 즉시 중지하기 - docker kill 〈컨테이너 ID/이름〉
2.5 도커 컨테이너 삭제하기 - docker rm
___중지된 모든 컨테이너 삭제하기 - docker rm `docker ps -a -q`
___도커 이미지 삭제하기 - docker rmi 〈이미지 id〉
___사용하지 않는 데이터 삭제하기 - docker system prune
2.6 실행 중인 컨테이너에 명령어 전달하기 - docker exec
2.7 레디스를 이용해 도커 컨테이너 이해하기
2.8 실행 중인 컨테이너에서 터미널 사용하기 - docker exec sh
___실행 중인 컨테이너에 셸 환경으로 접속하기
___셸 환경으로 접속하기

▣ 03장: 직접 도커 이미지 생성하기
3.1 도커 이미지를 생성하는 순서
___도커 이미지는 어떻게 생성할까요?
___도커 이미지를 생성하는 순서
3.2 도커 파일(Dockerfile) 만들기
___도커 파일이란?
___도커 파일 작성 방법
___베이스 이미지란 무엇인가?
___도커 파일 작성하기
3.3 Buildkit 비활성화하기
___Buildkit이란 무엇인가요?
___Buildkit을 이용했을 때의 차이점
___Buildkit 비활성화하기
3.4 도커 파일로 도커 이미지 만들기
___build 명령어는 무엇인가요?
___build 명령어로 이미지 빌드하기
___빌드 과정 자세히 살펴보기
___빌드 과정의 Step 2/2 자세히 보기
3.5 내가 만든 이미지에 기억하기 쉬운 이름 붙여주기
___도커 이미지에 이름 붙여주기 - docker build -t
___이번 장에서 만들 Node.js 애플리케이션의 구조
___도커를 이용해 Node.js 애플리케이션을 만드는 순서

▣ 04장: 도커를 이용한 간단한 Node.js 애플리케이션 만들기
4.1 Node.js 애플리케이션 만들기
___Node.js 설치하기
___Node.js 앱 만들기
4.2 도커 파일 작성하기
___작성한 도커 파일 자세히 살펴보기
___왜 FROM 부분에 alpine 베이스 이미지가 아닌 node 이미지를 사용할까요?
___RUN 부분에 있는 npm install은 어떤 코드인가요?
___CMD부분에 있는 “node”, “server.js”는 무엇인가요?
4.3 package.json이 없다는 에러 메시지가 발생하는 이유
___이미지를 빌드할 때 왜 package.json 파일이 없다고 나오나요?
4.4 생성한 이미지로 애플리케이션 실행 시 접근이 안 되는 이유
___앞으로 컨테이너를 실행하기 위해 사용할 명령어
___새롭게 추가된 부분은 무슨 뜻인가요?
4.5 작업 디렉터리 명시하기
___WORKDIR 지시자는 무엇인가요?
___도커 컨테이너 안에 별도의 작업 디렉터리가 왜 있어야 하나요?
___COPY 지시자로 컨테이너 안으로 복사한 폴더와 파일
___이렇게 파일과 폴더가 한 디렉터리에 섞이면 문제가 되나요?
___작업 디렉터리를 설정하는 방법
4.6 애플리케이션의 소스 코드 변경으로 다시 빌드할 때의 문제점
___도커 환경에서 애플리케이션을 실행하는 순서
___이미지를 새로 빌드하면서 생긴 2가지 문제점
4.7 애플리케이션의 소스 코드를 변경했을 때 이미지를 효율적으로 다시 빌드하기
___COPY 지시자 부분을 바꾼 이유는 무엇일까요?
___COPY 지시자를 RUN 전후로 나눠 효율적으로 빌드하기
4.8 도커 볼륨
___도커 볼륨(Docker Volume)은 무엇인가요?
___도커 볼륨은 어떻게 이용하나요?
___PWD(print working directory)
___도커 볼륨을 사용해 애플리케이션 실행하기

▣ 05장: 도커 컴포즈
5.1 이번 장에서 만들 애플리케이션
___이번 장의 학습 순서
5.2 Node.js와 레디스 구현하기
___Node.js 애플리케이션 만들기
___레디스란 무엇인가요?
___레디스의 장점은 무엇인가요?
___Node.js 환경에서 레디스를 사용하는 방법
___도커 환경에서 레디스 클라이언트를 생성할 때 주의할 점
___Node.js 애플리케이션에 레디스 코드 추가하기
5.3 Node.js를 실행할 컨테이너의 도커 파일 작성하기
___도커 파일 작성하기
5.4 통신할 때 나타나는 에러
___애플리케이션 실행 순서
5.5 도커 컴포즈 파일 작성하기
___도커 컴포즈 파일은 확장자가 yaml이나 yml인데 이것은 무슨 파일인가요?
___도커 컴포즈의 파일 구조
5.6 도커 컴포즈 정지시키기

▣ 06장: 단일 컨테이너를 활용한 애플리케이션 만들기
6.1 리액트 설치 및 애플리케이션 생성
___리액트 애플리케이션 생성하기
6.2 리액트 애플리케이션을 위한 도커 파일 작성하기
___개발 환경을 위한 도커 파일 작성하기
___왜 이런 에러 메시지가 발생했을까요?
6.3 생성된 도커 이미지로 로컬에서 리액트 실행하기
6.4 도커 볼륨을 이용한 소스 코드 변경
___COPY와 도커 볼륨의 차이점 복습
___도커 볼륨을 사용해 애플리케이션 실행하기
6.5 도커 컴포즈로 좀 더 간단하게 애플리케이션 실행하기
___도커 컴포즈를 이용해 애플리케이션 실행하기
6.6 리액트 애플리케이션 테스트하기
___도커를 이용한 리액트 애플리케이션에서 테스트를 진행하려면
6.7 운영 환경을 위한 엔진엑스
___개발 환경에서 리액트 애플리케이션이 실행되는 구조
___운영 환경에서 리액트 애플리케이션이 실행되는 구조
___왜 개발 환경의 서버와 운영 환경의 서버가 다른가요?
6.8 운영 환경의 도커 이미지를 위한 도커 파일 작성하기
___개발 환경의 도커 파일과 운영 환경의 도커 파일 비교
___운영 환경의 도커 파일 자세히 보기
___BUILDER STAGE
___RUN STAGE
___운영 환경에서 리액트 애플리케이션 실행하기
6.9 운영 환경의 도커 컴포즈 파일 작성하기
___운영 환경의 도커 컴포즈 파일 작성

▣ 07장: 단일 컨테이너를 활용한 애플리케이션의 테스트와 배포
7.1 깃허브에 소스 코드 올리기
7.2 Travis CI에서 테스트하기
___Travis CI란?
___Travis CI의 역할
___Travis CI와 깃허브 연동
___테스트를 위한 Travis CI 설정 파일 작성하기 - travis.yml
___travis.yml 파일 자세히 살펴보기
___.travis.yml 파일 작성하기
7.3 AWS 알아보기
___AWS의 서비스들
___EC2란 무엇인가? (Elastic Compute Cloud)
___일래스틱 빈스톡이란 무엇인가? (Elastic Beanstalk)
7.4 일래스틱 빈스톡 환경과 애플리케이션 만들기
___새로운 일래스틱 빈스톡 환경 만들기
___트래픽이 많지 않을 때
___트래픽이 많을 때
7.5 애플리케이션을 배포하기 위한 Travis CI 설정 파일 작성하기
___배포와 관련된 Travis CI 설정 코드
7.6 Travis CI에서 AWS에 접근하기 위한 API 생성
___소스 코드를 전달하기 위한 접근 요건
___IAM(Identity and Access Management)이란?
___IAM 사용자 생성하기
___API 키를 Travis CI 설정 파일에 작성하기
___일래스틱 빈스톡 환경 종료하기

▣ 08장: 다중 컨테이너를 활용한 애플리케이션의 개발 환경 구축
8.1 다중 컨테이너를 활용해 만들 애플리케이션의 구조
___멀티 컨테이너 애플리케이션을 위한 전체적인 설계
___엔진엑스의 프록시(Proxy) 기능을 이용한 설계
___엔진엑스는 정적 파일만 제공하는 설계
___애플리케이션의 구현 순서
8.2 Node.js로 애플리케이션의 백엔드 서버 구현하기
8.3 React.js로 애플리케이션의 프런트엔드 구현하기
8.4 리액트 애플리케이션을 위한 도커 파일 만들기
___엔진엑스 설정 변경하기
8.5 노드 애플리케이션을 위한 도커 파일 만들기
8.6 개발 환경과 운영 환경의 데이터베이스 구성
___개발 환경과 운영 환경의 데이터베이스를 나누는 이유는?
___데이터베이스의 구조 자세히 살펴보기
8.7 MySQL을 위한 도커 파일 만들기
___MySQL을 위한 도커 파일 작성
8.8 엔진엑스를 위한 설정 파일과 도커 파일 만들기
___프록시 기능을 위한 엔진엑스 설정
8.9 개발환경을 위한 도커 컴포즈 파일 작성하기
8.10 볼륨을 이용한 데이터베이스의 데이터 유지하기
___도커 볼륨을 이용한 데이터 영속성 구조

▣ 09장: 다중 컨테이너를 활용한 애플리케이션의 배포
9.1 테스트 및 배포 순서 살펴보기
___1. 깃허브 원격 저장소에 소스 코드를 푸시합니다.
___2. Travis CI에서 깃허브에 푸시한 소스 코드를 가져와 테스트합니다.
___3. 빌드된 도커 이미지를 도커 허브로 푸시합니다.
___4. AWS 일래스틱 빈스톡에 애플리케이션을 배포합니다.
9.2 도커 환경의 MYSQL 정리하기
9.3 깃허브에 소스 코드 올리기
9.4 Travis CI에서 테스트하기
___Travis CI에서 할 일들
___Travis CI와 깃허브 연동
___travis.yml 파일의 작성 순서
___.travis.yml 파일 작성하기
___Travis CI 사이트에서 환경 변수 만들기
___Travis CI가 잘 작동하는지 확인
9-5 운영 환경을 위한 도커 컴포즈 파일 생성
___도커 컴포즈 파일 생성
9.6 다중 컨테이너 애플리케이션을 위한 일래스틱 빈스톡 환경 생성
___애플리케이션 생성
9.7 VPC와 보안 그룹 설정하기
___왜 VPC와 보안 그룹을 설정해야 하나요?
___VPC란 무엇인가요?
___일래스틱 빈스톡 환경을 생성할 때 할당되는 기본 VPC 찾아보기
___보안 그룹이란 무엇인가요?
___VPC와 보안 그룹을 이용해 EB 인스턴스와 RDS 통신 문제를 해결하는 방법은?
9.8 AWS RDS를 이용한 데이터베이스 생성하기
___RDS를 이용한 데이터베이스 생성하기
9.9 데이터베이스 정보를 도커 컴포즈 파일에 명시해주기
___데이터베이스의 엔드포인트 정보 확인하기
___일래스틱 빈스톡의 환경 속성 설정하기
9.10 보안 그룹의 생성과 적용
___보안 그룹 생성하기
___보안 그룹 적용하기
___MySQL 인스턴스에 새로 생성한 보안 그룹 적용하기
___일래스틱 빈스톡 인스턴스에 새로 생성한 보안 그룹 적용하기
9.11 애플리케이션을 배포하기 위한 Travis CI 설정 파일 작성하기
___지금까지 작성한 Travis CI 설정 코드
___배포를 위해 추가할 Travis CI의 설정 코드
9.12 Travis CI에서 AWS에 접근하기 위한 API 키 생성
___소스 코드를 전달하기 위한 접근 요건
___IAM(Identity and Access Management)이란?
___IAM 사용자 생성하기
___API 키를 Travis CI 설정 파일에 작성하기
9.13 애플리케이션이 잘 실행되는지 테스트하기
___환경 종료하기

출판사 서평

◎ 기본적인 도커 클라이언트 명령어
◎ 도커를 이용한 간단한 Node.js 애플리케이션 만들기
◎ 단일 컨테이너를 활용한 애플리케이션 개발과 배포
◎ 멀티 컨테이너를 활용한 애플리케이션 개발과 배포
◎ 깃허브, Travis CI, AWS를 활용한 CI/CD 환경 구축

Klover 리뷰 (0)

북로그 리뷰 (0) 쓰러가기

북로그 리뷰는 본인 인증 후 작성 가능합니다.
책이나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 내용은 비공개 처리 될 수 있습니다.
※ 북로그 리뷰 리워드 제공 2021. 4. 1 종료

문장수집 (0) 문장수집 쓰기 나의 독서기록 보기
※구매 후 문장수집 작성 시, 리워드를 제공합니다. 안내

교환/반품/품절안내

※ 상품 설명에 반품/교환 관련한 안내가 있는 경우 그 내용을 우선으로 합니다. (업체 사정에 따라 달라질 수 있습니다.)

교환/반품/품절안내
반품/교환방법 마이룸 > 주문관리 > 주문/배송내역 > 주문조회 > 반품/교환신청 ,
[1:1상담>반품/교환/환불] 또는 고객센터 (1544-1900)

※ 오픈마켓, 해외배송주문, 기프트 주문시 [1:1상담>반품/교환/환불]
    또는 고객센터 (1544-1900)
반품/교환가능 기간 변심반품의 경우 수령 후 7일 이내,
상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내
반품/교환비용 변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
반품/교환 불가 사유
  • 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
    (단지 확인을 위한 포장 훼손은 제외)
  • 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
    예) 화장품, 식품, 가전제품(악세서리 포함) 등
  • 복제가 가능한 상품 등의 포장을 훼손한 경우
    예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
  • 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우 ((1)해외주문도서)
  • 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
  • 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
  • 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에
    해당되는 경우
(1) 해외주문도서 : 이용자의 요청에 의한 개인주문상품으로 단순변심 및 착오로 인한 취소/교환/반품 시 ‘해외주문 반품/취소 수수료’ 고객 부담 (해외주문 반품/취소 수수료 : ①서양도서-판매정가의 12%, ②일본도서-판매정가의 7%를 적용)
상품 품절 공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는
이메일과 문자로 안내드리겠습니다.
소비자 피해보상
환불지연에 따른 배상
  • 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은
    소비자분쟁해결 기준 (공정거래위원회 고시)에 준하여 처리됨
  • 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의
    소비자 보호에 관한 법률에 따라 처리함
바로가기
  • 우측 확장형 배너 2
  • 우측 확장형 배너 2
최근 본 상품