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

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

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

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

안재원

새로운기술배우기와그배운기술을공유하기를좋아하는평범한개발자입니다.유튜브와인터넷강의사이트를통해서배운지식을공유하고있습니다.

▣유튜브:https://bit.ly/johnahn_youtube

목차

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

▣02장:기본적인도커클라이언트명령어
2.1도커이미지의내부파일구조보기-dockerrunls
2.2컨테이너나열하기-dockerps
___현재실행중인컨테이너나열
___도커컨테이너를나열할때원하는항목만보기
___모든도커컨테이너를나열
2.3도커컨테이너의생성과실행
___도커컨테이너를생성하고실행하기-dockerrun〈이미지이름〉
___도커컨테이너생성하기-dockercreate〈이미지이름〉
___생성된도커컨테이너실행하기-dockerstart〈컨테이너ID/이름〉
2.4도커컨테이너멈추기
___도커컨테이터를우아하게중지하기-dockerstop〈컨테이너ID/이름〉
___도커컨테이터를즉시중지하기-dockerkill〈컨테이너ID/이름〉
2.5도커컨테이너삭제하기-dockerrm
___중지된모든컨테이너삭제하기-dockerrm`dockerps-a-q`
___도커이미지삭제하기-dockerrmi〈이미지id〉
___사용하지않는데이터삭제하기-dockersystemprune
2.6실행중인컨테이너에명령어전달하기-dockerexec
2.7레디스를이용해도커컨테이너이해하기
2.8실행중인컨테이너에서터미널사용하기-dockerexecsh
___실행중인컨테이너에셸환경으로접속하기
___셸환경으로접속하기

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

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

▣05장:도커컴포즈
5.1이번장에서만들애플리케이션
___이번장의학습순서
5.2Node.js와레디스구현하기
___Node.js애플리케이션만들기
___레디스란무엇인가요?
___레디스의장점은무엇인가요?
___Node.js환경에서레디스를사용하는방법
___도커환경에서레디스클라이언트를생성할때주의할점
___Node.js애플리케이션에레디스코드추가하기
5.3Node.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운영환경의도커이미지를위한도커파일작성하기
___개발환경의도커파일과운영환경의도커파일비교
___운영환경의도커파일자세히보기
___BUILDERSTAGE
___RUNSTAGE
___운영환경에서리액트애플리케이션실행하기
6.9운영환경의도커컴포즈파일작성하기
___운영환경의도커컴포즈파일작성

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

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

▣09장:다중컨테이너를활용한애플리케이션의배포
9.1테스트및배포순서살펴보기
___1.깃허브원격저장소에소스코드를푸시합니다.
___2.TravisCI에서깃허브에푸시한소스코드를가져와테스트합니다.
___3.빌드된도커이미지를도커허브로푸시합니다.
___4.AWS일래스틱빈스톡에애플리케이션을배포합니다.
9.2도커환경의MYSQL정리하기
9.3깃허브에소스코드올리기
9.4TravisCI에서테스트하기
___TravisCI에서할일들
___TravisCI와깃허브연동
___travis.

출판사 서평

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