• 베스트
  • 소득공제
  • 무료배송

따라하며 배우는 도커와 CI 환경: 컨테이너 이론부터 Travis CI AWS 실습까지(위키북스 시스템 & 네트워크 시리즈11)

  • 안재원
  • 위키북스
  • 2021년 11월 19일
사용자 평점
0리뷰 0개
10%25,200원28,000원
적립금
1,400원 (5% 적립)
추가 적립 안내
  • 5만원 이상 결제 시 (*배송비 제외)

    정가제FREE(상품/사은품) 금액이
    2,000원 이상이면 2,000원 추가적립

  • 10만원 이상 결제 시 (*배송비 제외)

    정가제FREE(상품/사은품) 금액이
    2,000원 이상이면 2,000원 추가적립

    정가제FREE(상품/사은품) 금액이
    5,000원 이상이면 5,000원 추가적립

회원가입 시 적립금 즉시 지급!

배송비
무료 (해외배송의 경우 지역에 따라 상이)

배송안내

배송비 안내
  • 1만원 이상 주문 시 무료배송 입니다.
  • 주문하신 상품을 해외로 배송 하시는 경우에는 별도의 항공료 가 부과됩니다
서울특별시 강남구 강남대로 542(논현동, 영풍빌딩)
주문 수량 변경시 안내

[주문/배송] 주문 수량 변경 시 안내

주문 수량 변경 시,배송일정이 변경될 수 있으니 반드시 확인해 주시기 바랍니다.
(고객센터 1544-9020)

지금 주문하면 10/8(목) 출고 가능
택배보다 빠른, 나우드림
상품 규격 정보
상품상세정보
ISBNISBN-13 : 9791158392864
쪽수356쪽
크기기타 규격
제품구성단행본
이 책이 속한 분야
  • 컴퓨터/IT > 시스템공학
관련 이벤트

AI추천 이유

책 소개
《따라하며 배우는 도커와 CI 환경》과 함께 더 쉽게, 더 깊이 있게 도커를 만나보세요!

이 책의 전반부에서는 도커 컨테이너와 도커 이미지가 무엇인지부터 도커 컴포즈까지 도커에 관해 알아봅니다. 다양한 도해와 함께 설명함으로써 도커를 더욱더 쉽게 이해할 수 있고, 깊이 있게 공부할 수 있습니다.

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


목차
▣ 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 애플리케이션이 잘 실행되는지 테스트하기 ___환경 종료하기










































































































































































































저자 소개
저자 : 안재원

    도서리뷰

    이 책을 읽고 어떤 느낌을 받으셨나요?
    리뷰를 남기고 다른 독자들과 함께 공유해보세요.

    안내 열기구매(배송/수령완료) 후 리뷰를 작성하시면 적립금 300원을 드려요!

    등록된 리뷰가 없습니다

    첫번째 리뷰어가 되어주세요

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

    매장에서 사용할 수 있는 바코드가 있어요!