따라하며 배우는 도커와 CI 환경
도서+사은품 또는 도서+사은품+교보Only(교보굿즈)
15,000원 미만 시 2,500원 배송비 부과
20,000원 미만 시 2,500원 배송비 부과
15,000원 미만 시 2,500원 배송비 부과
1Box 기준 : 도서 10권
로그아웃 : '서울시 종로구 종로1' 주소 기준
이달의 꽃과 함께 책을 받아보세요!
1권 구매 시 결제 단계에서 적용 가능합니다.
해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.
패키지
북카드
키워드 Pick
키워드 Pick 안내
관심 키워드를 주제로 다른 연관 도서를 다양하게 찾아 볼 수 있는 서비스로, 클릭 시 관심 키워드를 주제로 한 다양한 책으로 이동할 수 있습니다.
키워드는 최근 많이 찾는 순으로 정렬됩니다.

전반부에서 도커의 기본기를 탄탄하게 다진 후에, 이 책의 후반부에서는 두 가지 애플리케이션을 만들어 봅니다. 깃허브, 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 애플리케이션이 잘 실행되는지 테스트하기
___환경 종료하기
출판사 서평
◎ 기본적인 도커 클라이언트 명령어
◎ 도커를 이용한 간단한 Node.js 애플리케이션 만들기
◎ 단일 컨테이너를 활용한 애플리케이션 개발과 배포
◎ 멀티 컨테이너를 활용한 애플리케이션 개발과 배포
◎ 깃허브, Travis CI, AWS를 활용한 CI/CD 환경 구축
기본정보
ISBN | 9791158392864 | ||
---|---|---|---|
발행(출시)일자 | 2021년 11월 19일 | ||
쪽수 | 356쪽 | ||
크기 |
189 * 241
* 26
mm
/ 799 g
|
||
총권수 | 1권 | ||
시리즈명 |
위키북스 시스템 & 네트워크 시리즈
|
Klover
구매 후 리뷰 작성 시, e교환권 200원 적립
문장수집 (0)
e교환권은 적립 일로부터 180일 동안 사용 가능합니다. 리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 한 상품에 최초 1회만 제공됩니다.
주문취소/반품/절판/품절 시 리워드 대상에서 제외됩니다.
판매가 5,000원 미만 상품의 경우 리워드 지급 대상에서 제외됩니다. (2024년 9월 30일부터 적용)
구매 후 리뷰 작성 시, e교환권 100원 적립