메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

그림으로 배우는 도커

개념부터 환경 구축까지 단계별로 익히는 도커

한빛미디어

번역서

판매중

  • 저자 : 스즈키 료
  • 번역 : 서수환
  • 출간 : 2025-02-24
  • 페이지 : 404 쪽
  • ISBN : 9791169213479
  • eISBN : 9791169219075
  • 물류코드 :11347
  • 초급 초중급 중급 중고급 고급
4.9점 (16명)
좋아요 : 5

도커의 기본부터 고급 활용까지 쉽게 배우는 단계별 가이드

 

도커를 따라 하다 보면 명령어는 실행했지만, 정확히 어떻게 동작하는지 알기 어렵거나, 이미지를 만들었는데 컨테이너가 실행되지 않는 상황을 경험하게 됩니다. RUN과 CMD처럼 비슷해 보이는 개념이 실제로 무엇이 다른지 헷갈릴 때도 많습니다. 단순히 명령어를 입력하는 것만으로는 도커의 원리를 제대로 이해하기 어렵기 때문입니다.

 

이 책은 도커의 기초 개념부터 개발 환경 구축까지 핵심 내용을 단계적으로 익힐 수 있도록 구성된 입문서입니다. 명령어와 개념을 그림과 함께 설명해 누구나 쉽게 이해할 수 있으며, 실무에서 활용할 수 있는 다양한 예제도 제공합니다. 도커 컨테이너, 이미지, 네트워크, 볼륨 등 필수 개념을 익히고, 도커 컴포즈를 활용한 개발 환경 구성 방법까지 자세히 다룹니다. 또한, 운영 시 주의할 점과 디버깅 노하우를 소개해 실무에서 도커를 더욱 효과적으로 활용할 수 있도록 돕습니다.

 

이 책을 통해 도커를 제대로 이해하고 실무에 적용하는 방법을 단계별로 배워보세요.
 

스즈키 료 저자

스즈키 료

별명은 호게 상. 어쩌다 들어간 대학의 정보통신 계열 학과에서 프로그래밍을 접한 후 정보통신 분야에 빠져들었다. 2012년 모 전자 메이커 대기업에 취직해서 백엔드 엔지니어로서 ISP 서비스 개발에 종사했다. 2021년 미라이토디자인으로 이직, 현재는 Zenn(엔지니어 정보 공유 커뮤니티)에 투고하거나 회사 유튜브 채널에 진지한 동영상이나 그렇지 못한 동영상을 공개하고 있다.

서수환 역자

서수환

일본에서 IT 시스템을 설계, 개발하는 엔지니어다. 귀찮은 일이 생기면 대신해 줄 무언가를 찾다가 없으면 만드는 것이 취미다. 또 뭐하며 놀까에 대해 늘 고민하고 있다.

 

[1부 가상화와 도커 기본 지식]

 

1장 가상화 
_1.1 물리 머신과 가상 머신 
_1.2 가상화 소프트웨어 종류 
_1.3 컨테이너형 가상화 특징

 

2장 도커와 주변 요소 살펴보기 
_2.1 도커의 구성 요소 
_2.2 컨테이너와 이미지 규격  

 

3장 도커 설치  
_3.1 윈도우에서 도커 사용하기 
_3.2 맥OS에서 도커 사용하기  

 

4장 도커 기본과 대원칙 
_4.1 명령어와 프로세스 
_4.2 컨테이너  
_4.3 이미지 
_4.4 도커파일
_4.5 명령어 기초 지식 
_4.6 명령어 치트 시트

 

[2부 도커 컨테이너 활용법]

 

5장 컨테이너 기초 지식
_5.1 컨테이너 상태와 프로세스 
_5.2 컨테이너 명령어  

 

6장 컨테이너 기본 조작
_6.1 컨테이너 가동하기 container run
_6.2 컨테이너 목록 확인하기 container ls
_6.3 컨테이너 정지하기 container stop
_6.4 컨테이너 삭제하기 container rm
 
 

7장 루비 컨테이너로 인라인 실행하기 
_7.1 컨테이너 가동 시 임의의 처리 실행하기 container run [COMMAND]
_7.2 컨테이너에 이름 붙이기 container run --name
_7.3 컨테이너 정지 시 자동으로 삭제하기 container run --rm

 

8장 파이썬 대화형 셸을 가동해서 컨테이너와 소통하기 
_8.1 컨테이너를 대화형 모드로 조작하기 container run --interactive --tty

 

9장 Nginx 서버를 가동해서 브라우저에서 접속하기
_9.1 컨테이너 포트 공개하기 container run --publish

 

10장 MySQL 서버를 백그라운드로 가동하기
_10.1 컨테이너 환경 변수 설정하기 container run --env
_10.2 컨테이너를 백그라운드로 실행하기 container run --detach

 

11장 PostgreSQL 서버를 가동해서 이것저것 확인해 보기
_11.1 컨테이너 출력 확인하기 container logs
_11.2 가동 중인 컨테이너에 명령하기 container exec
_11.3 PostgreSQL 서버에 접속하는 방법 정리하기

 

[3부 도커 이미지 활용법]

 

12장 이미지의 기본 내용
_12.1 왜 이미지 조작을 이해해야 하는가?
_12.2 완전한 이미지명과 태그
_12.3 레이어와 메타데이터
_12.4 이미지 명령어

 

13장 이미지 기본 조작
_13.1 이미지 목록 확인하기 image ls
_13.2 이미지 취득하기 image pull
_13.3 이미지 상세 내용 확인하기 image inspect

 

14장 다른 버전의 MySQL 서버 가동하기
_14.1 도커 허브에서 이미지 찾기
_14.2 컨테이너 가동 시 이미지 태그 지정하기

 

15장 vi를 설치한 우분투 이미지를 작성하고 공유하기
_15.1 컨테이너에 vi 설치하기
_15.2 컨테이너 이미지화하기 container commit
_15.3 컨테이너를 tar로 이미지화하기 container export + image import
_15.4 이미지를 tar로 만들고 다시 이미지화하기 image save + image load

 

[4부 도커파일 활용법]

 

16장 도커파일 기초
_16.1 도커파일이 필요한 이유
_16.2 도커 허브의 레이어 정보 해석하기
_16.3 도커파일 명령 목록

 

17장 vi를 사용할 수 있는 우분투 이미지 만들기
_17.1 베이스 이미지 지정하기 FROM
_17.2 도커파일로 이미지 빌드하기 image build
_17.3 명령어를 실행해서 레이어 확정하기 RUN

 

18장 시간대와 로그 출력이 설정된 MySQL 이미지 만들기
_18.1 이미지 환경 변수 지정하기 ENV
_18.2 호스트머신의 파일을 이미지에 추가하기 COPY

 

19장 가동할 때 웹서버를 실행하는 파이썬 이미지 만들기
_19.1 컨테이너 가동 시 명령어 지정하기 CMD

 

[5부 고급 도커 컨테이너 활용법]

 

20장 볼륨과 네트워크 기초
_20.1 볼륨
_20.2 네트워크

 

21장 MySQL 컨테이너 데이터가 사라지지 않게 만들기
_21.1 볼륨 작성하기 volume create
_21.2 컨테이너 가동할 때 볼륨 마운트하기 container run --mount

 

22장 호스트머신에서 편집한 파일을 루비 컨테이너에서 실행하기
_22.1 바인드 마운트 이용하기 container run --mount
_22.2 볼륨과 바인드 마운트의 차이점

 

23장 PHP 컨테이너에서 MySQL 컨테이너와 통신하기
_23.1 네트워크 작성하기 network create
_23.2 컨테이너 가동 시 네트워크에 접속하기 container run --network
_23.3 기본 브릿지 네트워크를 사용한 컨테이너 통신

 

[6부 고급 도커 컨테이너 활용법]

 

24장 구성 정리하기
_24.1 앞으로 만들 웹 서비스
_24.2 구성 정리하기
_24.3 이 장의 정리

 

25장 필요한 이미지 준비하기
_25.1 디렉터리 작성
_25.2 DB 이미지 정리하기
_25.3 메일 이미지 정리하기
_25.4 앱 이미지 준비하기
_25.5 이 장의 정리

 

26장 컨테이너 이외의 리소스 준비하기
_26.1 앱 컨테이너 정리하기
_26.2 DB 컨테이너 정리하기
_26.3 메일 컨테이너 정리하기
_26.4 이 장의 정리

 

27장 컨테이너 가동
_27.1 앱, DB, 메일 컨테이너 가동
_27.2 브라우저 확인하기

 

28장 도커 컴포즈 이용
_28.1 도커 컴포즈 기초
_28.2 docker 명령어를 compose.yaml로 이식하기
_28.3 도커 컴포즈 기본 조작


[7부 운영 시 주의할 점과 트러블슈팅]

 

29장 도커 데스크톱 유료 플랜과 도커 계정
_29.1 도커 데스크톱 유료 플랜
_29.2 도커 계정

 

30장 프로젝트에서 도커 사용하기
_30.1 환경 변수로 compose.yaml 값을 매개변수로 만들기
_30.2 .dockerignore로 빌드할 때 사용할 파일 제외하기
_30.3 여러 도커 컴포즈 파일 합치기

 

31장 애플 실리콘 맥에서 도커 사용하기
_31.1 명령어 집합 구조
_31.2 서로 다른 ISA의 도커 실행 환경 공존하기

 

32장 디버깅 방법
_32.1 현재 상태 정리하기
_32.2 문제 발생 범위 좁히기

이 책은 도커를 쉽게 이해하고자 하는 입문자를 위한 안내서입니다. 풍부한 그림을 활용해 도커의 기본 개념부터 실제 개발 환경 구축까지 단계별로 설명합니다. 컨테이너 생성부터 이미지 빌드, 도커 컴포즈 활용까지 이어지는 예제 실습으로 도커의 전반적인 흐름을 익힐 수 있습니다.
또한, 도커파일 작성, 도커 컴포즈 활용, 네트워크 설정 등 실무에 필요한 기술을 다루며, 운영 시 주의할 점과 트러블슈팅 방법도 소개합니다. 본문에는 친절한 그림 설명과 함께 POINT, COLUMN 구성으로 핵심 내용을 강조하며, 윈도우와 맥 사용자를 위한 실용적인 팁도 포함했습니다.


이 책을 통해 도커의 기본부터 실전 활용까지 익히고, 더욱 효율적인 개발 환경을 만들어 보세요.

"한빛미디어 서평단 <나는리뷰어다> 활동을 위해서 책을 협찬 받아 작성된 서평입니다."

 

 

 

요즘은 프론트엔드 개발자라고 하더라도 Frontend Ops Developer와 같은 직군도 있고 인프라를 구축할 수 있는 역량이 꽤나 필요합니다. 평소에도 도커를 배워야겠다는 생각은 많이 했었는데 강의를 보거나 막상 책을 사려고 해도 어려운 개념이 있다보니 망설여졌는데요. 그런데 『그림으로 배우는 도커』는 이름에서 알 수 있듯이 부담을 적게 도커를 학습할 수 있는 책이라고 생각합니다.

책 소개

이 책은 도커의 기본 개념부터 시작하여, 컨테이너, 이미지, 네트워크, 볼륨 등 필수 요소들을 그림과 함께 설명합니다. 또한, 도커 컴포즈를 활용한 개발 환경 구성 방법과 운영 시 주의할 점, 디버깅 노하우 등 실무에서 필요한 내용도 다루고 있습니다. 명령어와 개념을 시각적으로 설명하여 독자의 이해를 돕고, 다양한 예제를 통해 실습할 수 있도록 구성되어 있습니다.

 

목차 구성

책은 총 5부로 구성되어 있습니다:

1. 가상화와 도커 기본 지식: 가상화의 개념과 도커의 구성 요소를 소개합니다.

2. 도커 컨테이너 활용법: 컨테이너의 기본 조작 방법과 다양한 실습 예제를 제공합니다.

3. 도커 이미지 활용법: 이미지의 구조와 조작 방법을 설명합니다.

4. 도커파일 활용법: 도커파일을 이용한 이미지 빌드 방법을 다룹니다.

5. 고급 도커 컨테이너 활용법: 볼륨과 네트워크 설정 등 고급 기능을 설명합니다.

 

각 장은 실제 예제를 통해 도커의 개념을 이해하고 실습할 수 있도록 구성되어 있어, 독자가 단계적으로 학습할 수 있습니다.

 

서평

『그림으로 배우는 도커』는 도커를 처음 접하는 개발자부터 실무에서 도커를 활용하고자 하는 분들까지 모두에게 유용한 입문서입니다. 복잡하게 느껴질 수 있는 도커의 개념을 그림과 함께 설명하여 이해를 돕고, 단계별로 실습할 수 있는 예제를 통해 학습 효과를 높였습니다. 특히, 도커 컴포즈를 활용한 개발 환경 구성 방법과 운영 시 주의할 점, 디버깅 노하우 등 실무에서 필요한 내용도 다루고 있어 실용적입니다.

 

이 책은 도커를 처음 배우는 분들에게는 친절한 가이드가 되어주고, 이미 도커를 사용하고 있는 분들에게는 개념을 정리하고 실무에 적용할 수 있는 팁을 제공해줍니다. 도커에 대한 이해를 깊이 있게 하고자 하는 모든 분들께 추천합니다.

 

“한빛미디어 서평단 <나는리뷰어다> 활동을 위해서 책을 협찬받아 작성된 서평입니다.”

 

도커는 컨테이너 기술을 활용해 애플리케이션과 그 실행 환경을 하나로 묶어 어디서든 동일하게 실행할 수 있게 해주는 플랫폼입니다.

《그림으로 배우는 도커》는 제목 그대로 ‘그림’과 ‘실습’으로 도커(Docker)의 세계로 안내하는 책입니다. 책은 가상화, 도커, 컨테이너라는 두루뭉술한 개념부터 도커를 처음 접할 때 느끼는 막막함, 명령어는 따라 치지만 원리는 잘 모르겠는 답답함을 그림과 단계별 설명으로 시원하게 뚫어줍니다. 

 

 

소개
책은 도커의 기초 개념부터 개발 환경 구축, 실무 운영까지 도커의 핵심을 단계적으로 익힐 수 있도록 7부로 구성되어 있습니다.
1부에서 5부까지는 가상화부터 도커가 필요한 이유와 설치 방법(윈도와 맥 OS), 기본 명령어 사용법, 컨테이너 실습으로 기초를 배울 수 있습니다.
6부에서는 5부까지 배운 내용을 토대로 실제 개발 환경(MySQL, Nginx, Python, PHP)을 컨테이너로 구축하고, 연동합니다.
7부는 프로젝트에서 도커를 활용하는 방법과 도커를 운영하면서 마주칠 수 있는 문제와 해결을 다루고 있습니다.

 

 

 

 장점
✅ 그림으로 도커의 구조와 흐름을 이해할 수 있습니다.
✅ 도커의 대표적인 명령어를 정리한 치트 시트를 제공합니다.
✅ Point, Column으로 핵심과 노하우를 배울 수 있습니다.
✅ 실습 시, 파란색(컨테이너 외부)과 노란색(컨테이너)으로 터미널을 구분하여 실습하기 편리했습니다.

 

 

 

대상 독자
책은 도커가 어렵게 느껴지는 엔지니어나 자신이 없는 분들을 위한 입문서입니다. 설치부터 기초, 활용까지 다루고 있어, 도커를 처음 만나는 독자도 읽을 수 있도록 단계별로 구성되어 있습니다.

 

✔️ 도커를 처음 배우는 개발자
✔️ 명령어 암기보다 핵심 원리 이해를 중시하는 사람
✔️ 개발/운영 환경에 컨테이너 기술을 도입하려는 개발자
✔️ 실무에서 도커를 써야 하는데 어디서부터 시작할지 막막한 엔지니어

 

✍️ 느낀 점


컨테이너형 가상화의 장점으로는 게스트 OS를 가동하지 않아
리소스 소비가 적은 점과 실행이 빠른 점입니다. 호스트 OS와 공존도 할 수 있습니다.
《그림으로 배우는 도커》, p.29

 

책은 가상화부터 시작하여 도커의 기초, 심화까지 전반적인 부분을 그림으로 쉽게 알려주고, 웹 서비스 환경을 직접 구축해 보고 볼륨과 레이어, 네트워크를 통해 도커를 알차게 활용하게 배울 수 있어 도커가 익숙하지 않는 독자부터 이미 도커가 익숙한 독자까지 만족할 수 있는 책이었습니다. 그 밖에도 윈도, 맥 OS, 리눅스 등 다양한 OS 환경별 설치·설정 가이드가 상세히 수록되어 개발 환경에 구애받지 않고 학습할 수 있습니다.

 

인상적이었던 점은 제목 그대로 '그림'이었습니다. 전체적인 구성과 그 흐름이 어떻게 움직이는지 그림을 통해 파악할 수 있었습니다. 그림을 통해 복잡한 도커의 구조를 직관적으로 이해할 수 있으며, 웹 서비스 환경 구축 실습을 통해 볼륨·레이어·네트워크 등 핵심 기능을 실제로 적용해 보는 과정이 효과적이었습니다.

 

책에서 좋았던 점은 7장의 트러블 슈팅이었습니다. 발생할 수 있는 문제(컨테이너 실행 오류, 이미지 빌드 실패 등)를 그림으로 정리하여 현재 상태를 파악하고, 무엇이 잘못되었는지 확인하는 방법을 알려줘 유용했습니다.

입문서이다 보니 아키텍처(예를 들어 3-tier 아키텍처)에 대한 설명과 CI/CD 파이프라인(예: GitHub Actions 연동) 등 확장성 있는 활용법을 다룬 내용이 없어 아쉬웠는데, 《그림으로 배우는 도커》를 읽고 나서 《한 권으로 배우는 도커&쿠버네티스》를 읽으면 좋겠다는 생각이 들었습니다.

 

책은 단순한 명령어 사용법을 넘어 도커의 원리까지 다루며, 스스로 문제를 해결할 수 있는 실력을 기를 수 있었습니다. 도커의 작동 원리와 활용을 머릿속에 그려보면서 도커에 익숙해지고 싶다면 이 책을 추천하고 싶습니다.

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 리뷰입니다.
 


이미지며 컨테이너며 명확히 정리되지 않던 개념들을 그림을 통해 확실하게 이해할 수 있었습니다. 그림을 통해 개념들을 쉽게 구조화할 수 있다는 것 만으로도 도커 입문서로 이 책을 선택할 이유는 충분하다고 생각합니다. 그림으로 쉽게 설명하고, 도커 이미지, 도커 파일, 도커 컴포즈까지 단계적인 실습 구성을 통해 도커를 프로젝트에 적용하기까지 정말 쉽고 빠르게 배울 수 있는 도서입니다.

 

?개요
이 책은 도커의 기초부터 실습까지 다루는 입문서로, 7개의 파트로 구성되어 있습니다. 복잡한 개념을 그림으로 시각화하여 설명하고, 각 장마다 실습 예제가 포함되어 있어 도커를 쉽게 배울 수 있습니다.


 

?목차
1부는 가상화와 도커 기본 지식, 2부는 도커 컨테이너 활용법, 3부는 도커 이미지 활용법, 4부는 도커 파일 활용법, 5부는 고급 도커 활용법, 6부는 웹 서비스 개발 환경 구축, 7부는 운영 시 주의할 점과 트러블슈팅을 다룹니다.


 

?도커란?
도커는 애플리케이션과 실행 환경을 하나의 컨테이너로 패키징하여 어디서든 동일한 환경에서 실행되도록 돕는 경량 가상화 플랫폼입니다. 이 책은 도커의 핵심 개념을 그림과 실습을 통해 이해하기 쉽게 설명합니다.


 

?그림으로 쉽게 이해하는 도커
모든 개념을 그림으로 설명하여 직관적으로 이해할 수 있습니다. 후반부 실습에서는 명령어와 코드를 활용해 도커를 실제로 적용해 볼 수 있으며, 각 장마다 그림이 추가되어 도커의 구조를 머릿속에 쉽게 그릴 수 있도록 돕습니다.


 

?‍?실습과 실무 활용으로 이어지는 구성
이 책은 이론보다는 실습을 중심으로 도커를 활용하는 방법을 배우는 입문서입니다. 각 장에서는 실습을 통해 개념을 적용하고, 후반부에서는 실제 애플리케이션을 도커로 구성하는 프로젝트형 실습이 포함되어 있어 실무에 바로 활용할 수 있습니다.


 

?입문자를 위한 완벽한 도커 참고서
도커의 기본 구조와 원리, 주요 명령어를 쉽게 배울 수 있는 입문서입니다. 명령어 입력 위치를 터미널 배경색으로 구분해두어 실습 중 혼란을 줄여주며, 최신 도커 버전에 맞춰 학습할 수 있어 매우 유용합니다.


 

♥️추천 대상
도커의 기본 개념을 처음부터 배워가고 싶은 입문자에게 강력히 추천합니다. 도커에 대한 경험이 있는 사람에게는 다소 단조로울 수 있지만, 기본적인 개념과 명령어를 실습을 통해 익히고 싶다면 추천하고 싶은 도서입니다.

한빛미디어 서평단 <나는리뷰어다> 활동을 위해서 책을 협찬 받아 작성된 서평입니다.

리눅스 컨테이너는 컴퓨팅 가상화 같은 인프라 리소스를 비롯해 어플리케이션 빌드 및 배포 방식과 라이프사이클 그리고 서비스 운영환경도 바꿔놨다. 어플리케이션이 컨테이너 단위로 패키징 되기 시작하면서 서비스에 유연함이 더해졌고 이것이 발전해 현재의 컨테이너 오케스트레이션 세상까지 도달했다.

이러한 상황속에서 개발자는 자신의 어플리케이션을 컨테이너 환경으로 배포 해야 하는데 그 첫걸음이 바로 도커다. 이 책은 개발자 관점에서 나의 어플리케이션을 어떻게 컨테이너 라이프사이클에 녹일 수 있는지 잘 설명한다. 도커 스웜이나 쿠버네티스 같은 오케스트레션 보다 어플리케이션 환경에 집중한 책이다.

나 역시 Dockerfile 을 CI/CD 파이프라인에 포함시켜 자동화를 해봤지만 도커를 비롯한 인프라가 으례 그렇듯 제대로된 학습이 되지 않으면 실행 해보기 전엔 어떤 사이드 이팩트가 있을지 알 수 없고, 운영 중에도 어떤 문제가 발생할지 알 수 없다. 어플리케이션은 이 레이어 위에서 운영되기 때문에 인프라는 상대적으로 민감하기 마련이다. 방대한 레퍼런스를 모두 머릿속에 넣고 다닐게 아니라면 철저히 경험에 기반한 영역은 배움에 전략이 필요하다. 이런 바탕의 의구심과 제대로 사용하기 위한 정보를 습득한다는 것은 많은 시간과 노력이 필요하지만 이 책은 저자의 노하우를 바탕으로 컨테이너 작성와 빌드 그리고 배포에서 일어나는 여러 단계들을 알기 쉽게 설명한다.

책은 컨테이너 방식의 가상화가 하이퍼바이저 가상화와 무엇이 다른지, 컨테이너가 무엇으로 이루어져있는지, 컨테이너 환경이 다른 환경과 달리 주의할 점은 어떤것인지 알려준다. 특히 도커는 CPU 아키텍처와 호스트 OS에 의존하는데, 이런 단점들도 적혀있어서 좋았다.

인상 깊었던 부분은 컨테이너의 상태 머신이 풀컬러로 그려져 있던 것인데 컨테이너 뿐만 아니라 이 책에서 다루는 이미지, 컨테이너 추출, 네트워킹, 볼륨 마운트, Dockerfile 같은 부분들이 컨테이너와 어떻게 관계를 이루는지 한눈에 볼 수 있어서 좋았다.

도커의 전반적인 아키텍처들을 소개하면서도 명령에 대한 소개도 소홀하지 않다. 심지어 ‘주로 사용하는 명령어’ 위주로 설명하며 자주 쓰일 커맨드들에 대해서 상세하게 알려주는 점이 좋았다. 주요 명령어들을 소개하는 소단원 가장 앞에는 항상 명령어에 대한 결과와 상태 변화를 도식화 해놓은 다이어그램이 있어서 이해하는데 큰 도움이 됐다. 이런 점이 저자의 노하우가 고스란히 녹아있다는 생각이 들게 했다.

늘 사용하던 패턴으로만 사용하니 몰랐던 사실들도 알게 되었는데 그것은 컨테이너 레이어와 메타데이터의 차이, 컨테이너 commit과 export+image의 차이, Dockerfile의 이력 추적방법, 볼륨과 바인드 마운트의 차이 같은 흥미로운 내용들이 있어 도움이 되었다. 또한 책의 마지막에는 데이터베이스, WAS, 메일 솔루션을 도커환경으로 운영해보는 시나리오도 있어서 실제로 어떤식으로 컨테이너를 조합하는지 알수 있어서 좋았다.

도커(Docker). 처음 들었을 땐 뭔가 거창하고, 어렵고, 클라우드 전문가들이나 다루는 기술처럼 느껴졌던 단어였다. 하지만 개발을 조금씩 해보면서, 특히 서버나 배포에 관여하게 되면 이 단어가 얼마나 자주 등장하는지 알게 된다. 그리고 결국엔 “나도 도커 좀 배워야 하나…”라는 생각을 하게 된다.

 

그 시작점에서 만난 책이 바로 『그림으로 개념 잡는 도커』였다. 이름처럼 개념부터 차근차근, 그것도 ‘그림’을 곁들여 설명해주는 책이다. 이 책을 읽고 도커의 진짜 역할과 필요성을 깨달을 수 있었고, 그 과정을 정리해본다.

 

개발자라면 누구나 한 번쯤은 이런 말을 해봤을 것이다. “어? 어제는 잘 됐는데?” 혹은 “내 컴퓨터에서는 잘 되는데요…” 문제는 보통 내 코드가 아니라 ‘환경’이었다. 운영체제가 다르거나, 라이브러리 버전이 다르거나, 경로 설정이 조금만 달라도 작동 방식은 확 달라진다. 그렇게 코드는 어느새 ‘그 환경에서만 돌아가는’ 무서운 존재가 되어버린다.

 

이런 문제를 해결하기 위해 등장한 것이 도커다. 도커는 내가 만든 프로그램과 그것이 잘 돌아가기 위한 모든 환경 요소들을 하나로 묶어 ‘도시락처럼 싸서’ 옮겨준다. 코드만이 아니라, 실행 환경, OS, 라이브러리, 설정 파일까지 전부 패키징해서 마치 어떤 컴퓨터에서든 “내 환경 그대로” 실행되게 만드는 마법 같은 기술이다.

 

도커에서 사용하는 '컨테이너(container)'라는 개념도 흥미롭다. 이는 실제 화물 운송에서 따온 말로, 동일한 규격의 컨테이너 박스를 트럭, 기차, 배 등 어떤 수단이든 실어 나를 수 있는 것처럼, 도커의 컨테이너는 어떤 시스템에서도 동일하게 작동할 수 있도록 설계된다. 안에 무엇이 들어 있든 상관없이, 외부에선 항상 같은 방식으로 다뤄지니까. 덕분에 운영체제, 언어, 설정이 달라도 똑같은 결과를 기대할 수 있다.

 

그럼 가상머신(VM)과는 뭐가 다를까? 둘 다 격리된 환경을 제공하지만, 가상머신은 운영체제 전체를 가상화하는 방식이라 무겁고 느리며, 많은 자원을 차지한다. 반면 도커는 운영체제를 공유하고, 필요한 부분만 컨테이너 단위로 가볍게 실행하므로 속도도 빠르고 리소스도 적게 든다. 클라우드나 마이크로서비스 아키텍처에 적합한 이유다.

 

하지만 도커는 처음 접하면 참 어렵게 느껴진다. 추상적인 개념에다 생소한 명령어, 이미지와 컨테이너의 관계, 터미널 작업… 익숙하지 않은 요소들이 많다. 이 책은 그런 초보자들을 위해 그림과 실습을 통해 쉽게 도커를 익히도록 돕는다.

 

책은 총 7부로 구성되어 있는데, 단계별로 도커를 자연스럽게 익히도록 짜여 있다. 1~4부에서는 도커가 왜 필요한지, 어떻게 설치하고 사용하는지, 명령어는 어떤 게 있는지를 알려주며 기본기를 다지고, 5~6부에서는 MySQL, Nginx, Python, PHP 등 다양한 컨테이너를 직접 실행하고 연결해보는 실습이 이어진다. 마지막 7부는 운영 환경에서 겪을 수 있는 문제 해결과 디버깅까지 다룬다. 입문, 실습, 실무 운영까지 하나로 이어지는 구조다.

 

개인적으로 가장 흥미로웠던 부분은 5~6부의 실습 파트였다. 특히 컨테이너 간 통신을 다루는 23장에서는 PHP 컨테이너와 MySQL 컨테이너를 연결하는 과정을 따라가며, 마치 진짜 서비스를 만드는 것처럼 느껴졌다. ‘container run --mount’ 옵션으로 호스트 파일을 마운트하고, ‘network create’로 컨테이너끼리 네트워크를 구성하는 과정은 도커의 실무적인 활용법을 보여줬다.

 

또한 도커 컴포즈(docker-compose)를 활용하는 28장도 매우 유용했다. 여러 개의 컨테이너를 각각 실행하고 관리하는 건 번거롭지만, YAML 파일 하나만 잘 작성하면 'docker-compose up' 한 줄로 모든 환경이 구성된다. 실무에서도 흔히 사용하는 방식이라 이 부분은 꼭 짚고 넘어갈 필요가 있다.

 

책이 좋은 이유는 여기에 그치지 않는다. 단순히 기능 설명에 그치는 게 아니라, 애플 실리콘에서 도커를 어떻게 쓰는지, 빌드할 때 어떤 파일을 제외해야 하는지, 디버깅은 어떻게 접근하는지를 끝까지 챙겨준다. 도커를 “설치하고 한두 개 실행해보는 수준”에서 멈추지 않고, 실제 배포와 운영 단계까지 가게끔 도와주는 구성이다.

 

명령어를 외우기 힘든 초보자를 위한 치트시트도 제공되는데, 책의 4.6장을 참고하면 도커에서 자주 쓰이는 명령어들을 한눈에 볼 수 있다. 실무에선 이걸 벽에 붙여두고 쓰고 싶을 정도다.

 

이 책을 다 읽고 나면 어떤 걸 할 수 있을까? 간단한 웹 서비스라면, Nginx, MySQL, 애플리케이션 서버(PHP나 Node.js 등)를 각각 컨테이너로 띄우고, 도커 컴포즈로 묶어 하나의 서비스처럼 실행하는 것이 가능하다. 개발-운영 환경을 통일하고, 버전 충돌 없이 협업할 수 있으며, 빠른 배포도 할 수 있다.

 

물론 초보자라면 모든 내용을 한 번에 완벽히 이해하긴 어렵다. 하지만 1~2부는 그림 위주로 가볍게 훑고, 5~6부 실습을 따라가며 익숙해지면 어느 순간 도커가 어렵지 않게 느껴질 것이다. 중요한 건 이 책이 단순 개념서가 아니라, 실습과 실무를 아우르는 ‘실전형 도커 입문서’라는 점이다.

 

 

도커를 처음 접하는 개발자라면 이 책 한 권으로 개념을 잡고, 실습을 통해 구조를 익히며, 마지막엔 운영까지 감을 잡을 수 있을 것이다. 개발과 배포가 분리된 환경에서, 컨테이너 기반의 배포 시스템이 당연시되는 시대에 이 정도 수준의 책은 반드시 한번 짚고 넘어가야 한다.

 

 

도커는 결국 ‘복잡한 걸 단순하게 해주는 기술’이다. 그런 도커를 단순하고, 명확하게 설명해주는 이 책은 초보자에게 가장 적절한 길잡이였다. 

『그림으로 배우는 도커』 는 총 7부로 구성되어 있으며, 1부부터 5부까지는 도커의 기본 개념과 명령어, Dockerfile 작성법까지 점진적으로 설명하고, 6부에서는 실무에 가까운 컨테이너 활용 및 복합 이미지 구축을 다루며, 7부에서는 실제 운영 환경에서 마주치는 디버깅, 트러블슈팅, 그리고 환경 구성 노하우까지 전반적으로 포괄하고 있다.

이 책의 가장 큰 장점은 단연 "그림" 이다!!(책 이름 값이 쩔어요~)

단순한 시각 보조 수준을 넘어, 도커의 내부 동작과 추상적 개념들을 직관적으로 이해하게 해주는 데 압도적으로 효과적이다. 도커를 처음 접했던 시절, 유튜브 영상 하나 와 여기저기 흩어진 문서들로 간신히 image 하나를 만들어보고 감탄했던 기억이 있다. 외장하드에 우분투를 넣고 들고 다니며 겨우 컨테이너 하나 띄워봤던 그 어설픈 시작과 비교하면, 이 책은 입문자에게 너무나 친절하고, 중급자에게는 뼈대가 정리되는 경험을 선사한다.

특히 이 책은 '당장 도커를 다뤄야 하는 사람' 에게 실질적인 도움이 되는 책 이다. 시스템의 깊은 구조나 리눅스 커널 수준에서 컨테이너의 작동 원리를 파고들기보다는, 도커를 어떻게 사용할 수 있는지를 실습 중심으로 풀어낸다. container, image, Dockerfile, 그리고 docker compose 까지, "순차적" 으로 기능을 확장해 나가며 자연스럽게 독자가 불편함을 느끼고 그 불편함을 해결하는 흐름으로 구성되어 있다.

5부까지의 실습 은 각각의 도커 명령어를 하나하나 직접 실행하면서 기본기를 다지고, 이후 Dockerfile 을 중심으로 필요한 설정을 직접 추가해가며 컨테이너를 구성한다. 이 과정을 통해 단순 실행에서 끝나는 것이 아니라 '왜 이렇게 구성해야 하는가' 를 되짚게 되고, 최종적으로는 웹 메일함 프로젝트를 compose 파일 하나로 통합 실행하면서 도커를 실무에 도입할 수 있는 감각을 얻게 된다.

(출처: https://gngsn.tistory.com/129)

다만 이 책은 도커의 작동 원리 자체를 깊이 있게 이해하고자 하는 독자에게는 분명 아쉬움이 남는다. 예를 들어 리눅스 커널의 cgroupnamespace가 어떻게 자원 격리와 프로세스 분리를 구현하는지, overlay filesystem이 어떻게 이미지 레이어를 효율적으로 구성하고 병합하는지에 대한 구조적 설명은 거의 등장하지 않는다.

또한 컨테이너의 PID 네임스페이스와 유저 네임스페이스, 네트워크 브리징 방식 등 도커의 겉모습이 아닌 '안쪽 구조'를 궁금해하는 독자라면, 이 책의 실습 위주 구성은 다소 단조롭게 느껴질 수 있다. 실습 중심의 빠른 흐름은 입문자에게는 유익하지만, 개념과 구조를 충분히 곱씹으며 이해하고 싶은 독자에게는 설명이 생략되거나, 추상적인 레이어에서 멈춘다는 점이 아쉽다.

개념적 깊이보다는 실용적 완성도가 돋보이는 책이며, 현업 개발자라면 책장 한켠에 두고 필요할 때마다 꺼내보게 될, 그런 실전형 책인 것 같다.



 

"한빛미디어 서평단 <나는리뷰어다> 활동을 위해서 책을 협찬받아 작성된 서평입니다."

 

 

도커를 시작하거나 다시 사용해 보려는 사람에게 알맞은 책이라고 봅니다.
도커를 알게 되었거나 알고는 있었던 상태에서,  원하는 환경을 사용하려고 찾아보면 많은 경우 바로 만나게 되는 게 대부분 도커 컴포즈 yaml 파일입니다.
도커를 설치하고 검색해서 알아낸 yaml 파일과 명령어로 컴포즈를 실행하면 원하는 환경이 뚝딱 만들어집니다.
손쉽게 원하던 환경을 얻었습니다만, 사실은 그때부터 시작이라고 봐야 합니다.
기본 환경만으로 충분하면 좋겠지만, 많은 경우 필요한 사항을 반영해야 합니다.
검색을 통해 yaml 파일 내용을 이해하고 수정하는 방식으로 임기응변할 수 있지만,
문제는 yaml을 그때그때 수정하는 것만으로는 해결하는데 한계가 있습니다.
결국, 도커를 알아야 하는 상황을 만나게 됩니다.
빠르고 가볍게 사용하기만 하고 싶은 마음과 달리 뭔가를 더 알아야 한다는 게 부담까지는 아니지만 기운 빠지게 합니다.

 

다른 거 할 것도 많은데, 그렇다고 미뤄두자니 계속 발목 잡힐 것 같고, 알아놓으면 이후 작업들이 훨씬 수월해질 거라는 느낌은 드는 분과 예전에 잠깐 살펴본 자료 덕분에 어렴풋이 개념은 알고 있지만, 마냥 쉽지만은 않았다는 기억도 함께 가지고 있는 분을 대상으로 하고 있는 것 같습니다.


목표가 뚜렷합니다

도커를 사용하기 위해 이해하는데 중점을 두고 있습니다.
프로그램을 이해하려면 구조와 작동방식을 어느 정도는 알아야 합니다. 다만, 어느 정도까지 알아야 하는가 하는 건 사람마다, 상황마다 다릅니다.
속속들이 아는 것보다 잘 사용하려고 아는 것에 중점을 두고 있습니다. 그에 따라 각 장의 분량이 길지 않으며 짧은 섹션으로 이루어져 있습니다.
필요에 따라 조금 더 깊이 알아가는 것은 사용하면서 익숙해진 독자의 몫으로 남겨두었습니다.


보여줍니다

각 섹션마다 전달하고자 하는 내용을 그림과 함께 보여줍니다.
프로그램이 있어 상황을 파악할 수 있지만, 컨테이너가 돌아가는 내부를 눈으로 확인할 수는 없습니다. 설명을 보고 독자가 머릿속으로 그려보는 정도입니다.
이런 경우 말로 풀어서 설명하는 것에 더하여 그림으로 그려주면 더 명확하게 다가오는 경우가 많습니다.
그래서 그렇게 하고 있습니다. 가상화 상태와 상황을 그림으로 보여주어서 이해를 돕고 있습니다.
대표적인 명령어를 종류별로 정리하여 보여주는 부분은 도커 명령어를 이해하는데 많은 도움이 되는 것 같습니다.

 

 

다양한 도커 컴포즈 yaml 파일을 제공하지는 않습니다.
수박 겉핥기식으로 사용하는데서 벗어나 도커를 제대로, 어렵지 않게 배우고 사용하고 싶은 분에게 좋은 책이라고 생각합니다.

 

도커가 나온지 시간이 많이 지났고, 개발환경을 쉽게 하고 이제 많이 보편화 되었습니다.

실제 개발자의 역량중에 도커의 활용도에 따라서 테스트 환경 및  개발을 효율적으로 할수 있는 차이가 많이 발생합니다.

이러한 시점에 최신 도커 파일 기준으로 다양한 정책들이 변경되었고 최신 시점으로 책이 출가되어서

이제 막 도커를 학습하고 배우기 위해서 필요한 책이 출간되었습니다.

 

 

 

 

 

■ 구성

· 도커의 기본지식 / 도커 컨테이너 활용법 / 도커 이미지 활용법 / 도커 파일 활용법 / 고급 도커 컨네이터 활용법 

  웹서비스 개발 환경 구축 / 운영시 주의할점 과 트러블 슈팅

  구성으로 되어 있는데, 실제 이론 및 사용해야 하는 컨테이너, 이미지, 웹서비스 등 다양한 목차로 구성되어 있습니다.

 

· 도커에 대해서 이론적으로 이해하려면 가상화에 대한 이론을 이해해야 한다. 

· 도커의 구성 요소

용어를 명확히 이해해야 합니다. 도커 엔진, 컴포즈, 데스크톱, 허브를 설명합니다.

도커의 경우, 지속적으로 유료정책이 변화되고 라이센스 문제가 있으니, 이러한 용어를 잘 알고 있어야 합니다.

 

· OCI라는 용어를 이해해야 합니다. Open Container Initiative 라는 비영리 단체에서 컨테이너 표준규격을 정의합니다.

 

 

OCI에 대해서 지속적으로 규격 및 다양한 기준이 나오니 이론을 이해하고 접근해야 합니다. 

책에서 테스트 환경은 Window, MacOS에서 실습 내용이 설명됩니다.

 

■ 도커 명령어의 중요성

· 도커에서는 명령어를 수행하는데, 컨테이너 개념이 있기 때문에 조금 더 다른 관점으로 접근해야 합니다.

이런 부분이 중요한 것은 수행해야 하는 시점에 필요한 명령어를 활용할수 있게 내용이 구성되어 있어서 도움이 많이 됩니다.

 

 

 

 

 

 

이렇게 명령어의 조작과 매개변수에 대해서 어떻게 활용할수 있는지 제공되는 그림은 실제 사용시 매우 많은 업무에 도움을 제공합니다. 


■ 컨테이너의 개념

· 컨테이너는 각각 상태를 가지고 있습니다. 이런 컨테이너를 동작시키는 다양한 명령어가 존재합니다.

ls, inspect, port, top 등등 다양한 명령어가 p. 87에서 설명합니다.

 

실제 사용되는 명령어에 대해서 문법과 입력 항목을 아래와 같이 mapping해서 그 의미 파악이 쉽습니다.

 

 

이렇게 각 프롬프트 명령어를 이해하기 좋고 파악하기 좋은 개념을 쉽게 설명하고 있습니다.

이러한 부분은 docker container is와 같은 가장 많이 사용하는 명령어를 수행시 노출되는 다양한 정보를 이해하는 것이 중요합니다.

 

 

 

 

하나하나 예시로 되어 있는 다양한 명령어를 실행해보는 것이 많은 도움이 될것입니다.

컨테이너에 이름을 붙이고, 삭제하는 이러한 명령어 수행을 해보고 그것에 노출된 정보에 대한 설명하는 것이 책의 친절함을 느낄수 있습니다.


■ 활용해보기

· 가장 쉽게 처음으로 nginx를 기동하는 것이 많이 사용됩니다.

nginx를 쉽게 실행해서, 웹서버로 활용하기 쉽게 제공합니다.
mysql을 실행해서 DB를 활용할수 있게 구성하는 방법

postgreSQL 서버를 가동해서 활용하기

 

· 도커 이미지를 활용

컨테이너는 이미지에서 작성하고 사용이 끝나면 삭제합니다.

레이어와 메타테이터를 구성해서 안에 구성된 파일 시스템으로 구성되어 있는 것을 볼수 있습니다.

> docker image ~ 를 이용해서 이미지 관련 내용에 대한 명령어를 수행할수 있습니다.

이미지 목록 확인하기 / 취득하기 / 상세 내용 확인하기 진행

 

도커 허브를 이용해서 위에서 언급한 이미지를 다운받아서 다양한 버전을 쉽게 설치하고 동일한 환경을 만들수 있습니다.

 

15장에서는 컨테이너와 이미지에서 이미지를 작성하는 방법을 배웁니다.

 

15장 vi를 설치한 우분투 이미지를 작성하고 공유하기
_15.1 컨테이너에 vi 설치하기
_15.2 컨테이너 이미지화하기 container commit
_15.3 컨테이너를 tar로 이미지화하기 container export + image import
_15.4 이미지를 tar로 만들고 다시 이미지화하기 image save + image load

 


■ 도커 파일을 활용하기

· 도커 허브 및 로컬 개발 환경 구축을 쉽게 하기 위해서 도커 파일을 이용해야 합니다.

도커파일에 이미지 확장 방법을 기로갛면 어떤 동작을 위한 파일 전달 대신, dockerfile을 공유합니다.

이것을 통해서 동일하게 환경을 구성할수 있습니다.

 

다양한 요소를 from을 이용해서 레이어를 구성해서 다양한 요소와 연결고리를 가집니다.

 

 


■ 고급 도커 컨테이너 활용하기

· 가상으로 구성시 볼륨이라는 개념을 잘 이해해야 합니다.

 - 실제 저장하는 데이터가 물리적은 위치의 파일이라면 상관이 없겠지만, 도커는 내가 저정하는 데이터가 어디에 저장하는지 혼돈이 되기도 합니다. 

  > 볼륨 작성하기 / 마운트 하기

 - 이러한 개념으로 네트워크도 실제 운영에 환경 구성을 하기에는 개념 및 활용법이 중요하니다.

  > 네트워크 작성하기 / 접속하기  / 컨테이너 통신

이러한 내용이 5부, 고급 과정에서 언급되어 있습니다.

 

· 도커 데스크톱 유료 플랜

 - 2021년에 도커 데스크톱이 유료화가 되었습니다.

이러한 제품 플랜의 종류가 변경도 있어서 지금 2024년 9월 기준으로 최신 플랜을 설명해주고 우리는 어떻게 활용할지 알려줍니다.

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."
해서, 최대한 책을 펼쳐놓는 형태로 리뷰를 작성해 보려고 합니다.
그 중에 자신에게 맞는 부분이 있다면 책을 선택해 보시면 될 것 같습니다. ^^

 

그림으로 배우는 도커

 

1. 이 책이 다루는 내용
- 도커의 핵심이 되는 내용을 그림으로 명확히 설명
- 도커의 기본 원리와 활용방법 정리

 

2. 대상 
- 도커를 처음 접하는 사람
- 도커의 기본원리와 활용을 정리하고 싶은 사람

 

3. 책 구성 
[1부 가상화와 도커 기본 지식]
1장 가상화
2장 도커와 주변 요소 살펴보기 
3장 도커 설치  
4장 도커 기본과 대원칙

 

[2부 도커 컨테이너 활용법]
5장 컨테이너 기초 지식
6장 컨테이너 기본 조작 
7장 루비 컨테이너로 인라인 실행하기 
8장 파이썬 대화형 셸을 가동해서 컨테이너와 소통하기  
9장 Nginx 서버를 가동해서 브라우저에서 접속하기 
10장 MySQL 서버를 백그라운드로 가동하기
11장 PostgreSQL 서버를 가동해서 이것저것 확인해 보기

[3부 도커 이미지 활용법]
12장 이미지의 기본 내용
13장 이미지 기본 조작
14장 다른 버전의 MySQL 서버 가동하기
15장 vi를 설치한 우분투 이미지를 작성하고 공유하기

[4부 도커파일 활용법]
16장 도커파일 기초
17장 vi를 사용할 수 있는 우분투 이미지 만들기 
18장 시간대와 로그 출력이 설정된 MySQL 이미지 만들기
19장 가동할 때 웹서버를 실행하는 파이썬 이미지 만들기

[5부 고급 도커 컨테이너 활용법]
20장 볼륨과 네트워크 기초
21장 MySQL 컨테이너 데이터가 사라지지 않게 만들기
22장 호스트머신에서 편집한 파일을 루비 컨테이너에서 실행하기 
23장 PHP 컨테이너에서 MySQL 컨테이너와 통신하기

[6부 고급 도커 컨테이너 활용법]
24장 구성 정리하기
25장 필요한 이미지 준비하기
26장 컨테이너 이외의 리소스 준비하기
27장 컨테이너 가동
28장 도커 컴포즈 이용

[7부 운영 시 주의할 점과 트러블슈팅]
29장 도커 데스크톱 유료 플랜과 도커 계정 
30장 프로젝트에서 도커 사용하기
31장 애플 실리콘 맥에서 도커 사용하기 
32장 디버깅 방법
 

4.  서평 
- 이 책의 가장 큰 장점은 그림으로 표현했다는 점이다.  
- 보통 IT책들의 단점들중에는 자신들만이 아는 언어로 이야기를 풀어내는 경우가 있는데, 결국 책은 독자들과의 대화이다. 그런데 자신이, 업계가 아는 말로만 이야기하면 결국 이 책을 읽는 독자는 이해 못하게될 가능성이 높다. 
- 비유를 들던, 자신이 느낀 내용들을 잘 정리해서 설명을 해야하는데, 공식문서에 너무 함몰된 나머지 설명도 어느 책을 봐도비슷한 그래서 독자는 오히려 이해하지 못하는 경우의 책들을 종종본다. 
- 그런 측면에서는 그림을 동원해서 독자들에게 잘 설명하려는 노력이 보이는책이고, 소통하는데 그림만한 도구가 없다고 보기에 텍스트 위주로 이야기를 하면 힘들어할 수도 있겠으나 그림으로 설명을 하면서 훨씬 더 이해도를 높이는데 도움이 되는 책이라고 본다. 
- 처음 도커를 접하던, 도커를 활용하는 방법을 알고 싶은 사람이든 도움이 되는 책인 것 같다. 
- 책은 모름지기 이 세상에 태어나 이 책을 처음 보는 사람에게 읽히게끔 만들어야 한다는게 내 지론이다. 그렇지 않으면 책을 만들 이유가 없지않나? 책은 자신이 잘남을 배설하는게 아니라, 독자들이 내가 한 이야기를 최대한 소화할 수 있도록 쉽게 쓰는게 핵심이라고 나는 보기 때문이다.

 

5.  한줄소감 
- 직관적이고, 이해하기 쉬운 도커 입문 및 활용서

이번에는 정말 원했던 책을 받게 되었다. 안그래도 새로운 업무들을 부여 받았는데 모든 환경이 도커로 이루어져있었다.

 

조금은 창피하지만 아직 도커에 대해 익숙치 않은 상태였다. 공부를 해야지...했지만 AWS 공부를 우선시 하다 보니 현재 도커는 우선순위에서 밀린 상태였다.

 

그러던 중 해당 도서 리뷰에 도커 책을 발견하게 되었다. 너무 운이 좋게도 해당 책을 부여 받았다.

 

요즘 개발 환경의 경량화부터 배포의 표준화까지, 어디서나 도커를 언급하고 있고, 그만큼 입문자들을 위한 가이드북 수요도 많아졌다.

그래서 이번에 고른 도서 후보 중 하나가 바로 '그림으로 배우는 도커'였다. 도커를 처음 접하거나 기본기를 확실히 다지고 싶은 입장에서 이 책이 어떤 깊이와 구성을 가지고 있는지, 특히 그림 기반의 설명이 실제로 얼마나 이해에 도움되는지를 중점으로 보며 책을 읽어 내려갔다.

 

먼저, 책 목차를 보자.

 

 

CHAPTER 1 도커란 무엇인가?

CHAPTER 2 컨테이너와 이미지 이해하기

CHAPTER 3 도커 명령어 체계 익히기

CHAPTER 4 Dockerfile로 나만의 이미지 만들기

CHAPTER 5 도커 컴포즈로 멀티 컨테이너 구성

CHAPTER 6 볼륨과 네트워크로 환경 관리하기

CHAPTER 7 컨테이너의 상태 확인과 디버깅

CHAPTER 8 실제 프로젝트에 도커 적용하기

CHAPTER 9 운영 환경에서 도커 최적화 전략

 

초반 챕터는 예상대로 기본적인 개념 위주라 빠르게 넘어가려 했지만, 그림과 비유가 생각보다 직관적이라 "아, 이래서 ‘그림으로 배우는’이라는 제목이 붙었구나" 싶었다.

 

특히 도커 이미지와 컨테이너의 차이를 설명할 때, 마치 "요리 레시피(이미지)"와 "실제 만든 요리(컨테이너)"로 비유한 부분은 전공자든 비전공자든 누구나 이해하기 쉽게 구성돼 있었다.

 

비유가 생각보다 친절해서 너무 이해하기 좋았다.

 

여담이지만 '그림으로 설명하는 통계학' 이라는 책을 굉장히 좋게 보았는데 생각해보니 해당 도서도 일본분이 집필하셨다.

(일본 분들이 그림으로 쉽게 설명하는 것을 매우 잘하는 것 같다)

 

그중 가장 집중해서 본 부분은 4장 Dockerfile 설명과 5장의 Compose 활용 부분이었다.

Dockerfile 작성법을 단순히 설명하는 수준을 넘어, 다양한 예제와 실습을 통해 "이미지 경량화", "캐시 계층 구조 이해" 등 실무에서 도움이 될 내용도 다뤘고, 도커 컴포즈(Compose)는 단일 명령어로 여러 컨테이너를 띄우는 과정이 실제 프로젝트와 어떻게 연결되는지를 잘 보여줬다.

 

다른 입문서들과 다르게, 이 책은 "한 줄씩 보여주며 따라 하기"보다는 "전체 구조를 보여주고 나서 세부 설명"을 하는 스타일이라 개인적으로 더 편하게 읽혔다.

 

 

그리고 가장 실용적이었던 부분은 실제 프로젝트 예제를 통해 로컬 환경에서 어떻게 도커를 구성하고 운영하는지에 대한 사례였다.
또한, 단순히 개발 환경에서 끝나는 것이 아니라 운영 환경에서의 최적화 전략, 예: 이미지 크기 줄이기, 불필요한 레이어 제거, 컨테이너 상태 모니터링 등에 대한 설명도 담고 있다.

 

전략마다 상세한 설명이 매우 마음에 들었다. 이번에는 가볍게 보는 정도이지만 이후 좀 더 상세하게 볼 필요가 있는 것 같다.

 

나같이 애매하게 도커를 아는 분들에게 강력하게 추천할만한 도서인 것 같다.

한빛미디어 서평단 <나는리뷰어다> 활동을 위해서 책을 협찬받아 작성된 서평입니다

 

도커(Docker)는 애플리케이션을 실행하는데 필요한 시스템 도구, 환경 설정, 라이브러리, 의존성 등을 하나의 작은 소프트웨어 단위인 컨테이너(Container) 안에 패키징할 수 있게 하는 도구입니다. 어디서든 안정적으로 실행하고 배포할 수 있도록 도와주는 도구이면서, 컨테이너 안에는 단순히 애플리케이션 코드 뿐만 아니라 런타임 환경 설정, 라이브러리, 필요한 리소스까지 함께 포함되어 개발 환경과 운영 환경 간의 차이로 인한 문제를 최소화합니다. 

 

출처. 쿠버네티스 공식문서 https://kubernetes.io/ko/docs/concepts/overview/

 

과거에는 가상 머신(Virtual Machine, 예로 VMWare, VirtualBox 등)을 사용해 환경을 분리했습니다. VM은 Hypervisor라는 가상화 소프트웨어 위에 운영체제(OS) 전체를 올리는 방식이라, 운영 체제가 포함된 만큼 무겁고, 실행 속도도 느리며, 시스템 자원을 많이 사용했습니다. (참고. Virtualized Deployment)

 

반면, 컨테이너는 Host OS(ex. 내 컴퓨터, 로컬)에 컨테이너 엔진(Container Engine, 예로 Docker)을 설치한 뒤 필요한 소프트웨어를 OS 없이 컨테이너로 실행합니다. Host OS 운영 체제를 공유하는 것을 Container Engine이 처리해주기 때문에 VM보다 훨씬 가볍고 빠르며, 효율적입니다. (참고. Container Deployment)

 

컨테이너 엔진 중 가장 널리 사용되고, 커뮤니티의 사랑을 받는 대표적인 도구가 바로 도커(Docker) 입니다. 

 

그림으로 배우는 도커는 기초 개념부터 시작해 Dockerfile, docker-compose까지 단계별로 설명해 주기 때문에, 도커를 처음 접하는 분들에게는 기본기를 다지기에 좋고, 이미 실무를 경험한 입장에서는 스스로의 부족한 부분을 점검하고 보완하기에 적절한 책이라고 느꼈습니다. 

 

 특히 인상 깊었던 건 “COLUMN. 비슷하지만 다른 것” 시리즈였습니다. 이 섹션에서는 평소 헷갈리기 쉬운 명령어나 개념들을 비교 중심으로 깔끔하게 정리해 줘서 이해도를 높이는 데 큰 도움이 되었고, 실무에서도 바로 사용할 수 있을 만큼 실용성도 있었습니다. 실무에선 늘 시간이 부족해 정리하지 못했던 개념들이 마음 한켠에 있었는데, 도서를 통해 정리할 수 있어서 개인적으로 유익했습니다.

 

"그림으로 배우는 도커"는 도커를 보다 구조적으로 이해하고, 실무에 적용할 수 있는 기반을 다지는 데 큰 도움이 된 책입니다.

이 책은 도커의 개념과 구성 요소를 시작으로, 명령어 사용법, 이미지 관리, 도커파일 작성, 컴포즈 환경 구성, 그리고 운영 시 고려해야 할 요소들까지 도커 전반에 대한 내용을 체계적으로 정리해주고 있습니다.
각 장은 실습을 중심으로 구성되어 있어,

도커를 단순히 이론적으로 이해하는 데 그치지 않고, 실제로 활용하고 응용하는 역량을 기를 수 있도록 구성되어 있습니다.

특히 그림을 활용한 설명 방식은 개념의 흐름을 직관적으로 파악하는 데 매우 효과적이었고,

실습마다 “왜 이 명령어를 사용하는가”에 대한 배경과 맥락을 함께 짚어주기 때문에 이해 중심의 학습이 가능했습니다.

도커를 처음 접하는 분들뿐 아니라, 실무에 도입하고자 하는 분들,

그리고 컨테이너 기반의 개발 환경을 체계적으로 익히고자 하는 분들께 이 책을 추천드립니다.

이 책은 이 책은 도커를 그림으로 설명해주는

입문서라고 볼 수 있습니다.

평소에 도커에 대해서 듣기는 했지만,

궁금했던 개발자들에게 좋은 책 인 것 같습니다.

 

저는 도커에 대해서 잠깐 공부한 적이 있었어요.

그래서 아주 기초적인 이론은 알고 있는 상태에서

이 책을 봤습니다.

"그림으로 배우는 도커"는

총 7개의 파트로 나뉘어져 있습니다.

도커의 기본 지식(이론과 설치)

도커 컨테이너 활용(기본 조작과 맛보기)

도커 이미지 활용법

도커 파일 활용법(도커 파일과 이미지 만들기)

고급 도커 컨테이너 활용법(볼륨과 네트워크)

웹 서비스 개발 환경 구축

운영시 주의할 점과 트러블 슈팅

 

저는 파트 1~5까지는 어느 정도 아는 내용이여서,

한번 복습하는 느낌으로 부담 없이 읽을 수 있었습니다.

 

좋았던 부분은, 6장 컨테이너 활용법에서

다수의 컨테이너를 활용한 실습이였습니다.

 

그리고 혼자 공부할 때는 이해하기 어려웠던

도커 컴포즈에 대해서, 6장에서 정리한 내용을 도커의

YAML 파일로 이식하는 과정을 통해..

좀 더 잘 이해할 수 있게 되었습니다.

#협찬

안녕하세요! 오늘은 제가 요즘 푹 빠져있는 도커 공부에 혁명을 일으켜준 책 ✨
"그림으로 배우는 도커" ✨ 후기를 들고 왔어요! ?
혹시 도커 공부 시작하셨는데... 명령어는 따라 치겠는데 이게 도대체 내부에서 어떻게 돌아가는 건지 감이 1도 안 잡히는 분 계신가요? ?‍♀️ RUN이랑 CMD는 뭐가 다른 건지, 이미지는 만들었는데 왜 컨테이너는 실행이 안 되는지!! ? 저만 그랬던 거 아니죠? ㅋㅋㅋ ?
? 도커, 너 정말 쉽니? 그림과 함께라면 가능! ?
와~ 처음에 도커 공부한다고 했을 때 진짜 머리 터지는 줄 알았잖아요 ? 뭔가 되게 멋있어 보이고 개발자라면 필수라는데, 막상 시작하려니 용어부터 너무 어렵더라구요. 가상머신이랑 컨테이너는 또 뭐고... 이미지는 뭐고 컨테이너는 뭔지 ?‍? 명령어 따라 치면서 실습은 하는데, 이게 정확히 어떤 원리로 동작하는지는 모르겠고, 시험 준비할 때도 개념이 헷갈려서 밤새 끙끙댔던 기억이 새록새록... ㅋㅋㅋ ?
❤️ 쌩초보 탈출! 도커 기본기 탄탄 다지기
이 책은 총 7부로 구성되어 있는데, 앞부분(1부~3부)에서는 도커를 1도 모르는 사람도 따라갈 수 있게 도커 기본기를 아주 친절하게 설명해줘요. 가상화가 뭔지부터 시작해서 도커의 핵심 구성 요소(컨테이너, 이미지, 도커파일 등), 설치 방법(윈도우, 맥 사용자 모두 배려! ?), 그리고 기본적인 명령어 사용법까지! 진짜 그림 없었으면 어쩔 뻔? ?
? 실무 레벨 업! 이제 나도 도커 좀 아는 척! ?
기본기를 다졌다면 이제 실무 레벨 업 할 차례! 책의 중후반부(4부~7부)에서는 도커를 좀 더 깊이 있게 활용하는 방법들을 다뤄요. 도커 이미지를 직접 만드는 Dockerfile 작성법부터 시작해서, 데이터 영속성을 위한 볼륨(Volume) 사용법, 컨테이너 간 통신을 위한 네트워크 설정, 그리고 여러 컨테이너를 한번에 관리하는 Docker Compose 사용법까지! ?
⭐️ 이 책, 누가 읽어야 할까? - 드루와 드루와! ?
자, 그래서 이 책을 누구한테 추천하냐구요?
도커를 처음 시작하는 완전 쌩초보! ?
도커가 뭔지 1도 모르겠다! 하시는 분들께 강력 추천해요. 이보다 더 쉬울 순 없을 거예요.
명령어는 따라 치는데 원리가 궁금했던 분들 ?
도커 명령어 뒤에서 무슨 일이 벌어지는지 알고 싶다면 이 책이 답을 줄 거예요.
도커 사용 중 에러 때문에 좌절했던 경험이 있는 분들 ?
(제가 그랬거든요...ㅋㅋㅋ) 개념 이해가 부족해서 생기는 오류들을 줄이는 데 큰 도움이 될 거예요. 디버깅 팁은 덤!

% 한빛미디어 나는 리뷰어다 활동으로 작성한 리뷰 입니다 %

도커 책 대부분은, 도커, 도커 컴포즈, 쿠버네티스를 한꺼번에 다루는 책들이 대부분 입니다. 

이러한 몇 권의 책들을 도전하다가 막히는 부분 및 헷갈리는 개념들 때문에 놓치고 마는 경우가 많았은데, 이 책은 docker cli 하나만 집중에서 이 책 전체를 할애하고 있습니다. 특히 도커 실행 결과 에 대하여 첨부한 사진과 같이 설명이 자세하게 추가되어 있어서,  이 책만으로도 도커에서 다루는 개념들에 대하여 빠짐없이 이해할 수 있어서 좋았던 책 입니다.

 

이와같은 특징으로 도커를 시작하려는 초보자 분들에게 적합한 책으로써 추천 합니다.

"한빛미디어 서평단 <나는리뷰어다> 활동을 위해서 책을 협찬 받아 작성된 서평입니다."

 

결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원 무료배송
닫기

리뷰쓰기

닫기
* 상품명 :
그림으로 배우는 도커
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
그림으로 배우는 도커
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
그림으로 배우는 도커
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?