이 책을 선택하게 된 이유는, Docker 작업을 할 때, 예시로 DjangoFlask 를 함께 다루고 있기 때문입니다. 설치 및 운영 과정에도 Python 을 적극 활용하고 있었습니다. 다른 개발언어와 비교하면, 파이썬 코드가 간결하기 때문에 파이썬 언어를 모르는 분이더라도, 간단한 파이썬 기본 개념만 이해하신다면 바로 실습내용을 따라할 수 있을 정도로 구성되어 있었습니다.

총평

이 책의 가장 큰 장점은 2가지를 꼽을 수 있었습니다. 첫번째는 책이 상세하다는 점 입니다. Docker 완전 초보자 분들을 위해서 각각의 개념설명 부분들 상세하게 서술되어 있었습니다. 그리고 설명과 관련된 생각보다 그림들도 함께 풍성하게 포함되어 있어서, 대략적인 서비스 운영 과정들을 이해하는데 도움이 되었습니다.

두번째 가장 큰 장점인데, 페이지 전체가 칼라로 구성되어 있다는 것입니다. Docker 에 대하여 간단하게 설명을 하면 1개의 PC 위에 다양한 여러개의 가상 운영체계 를 생성 및 관리하는 서비스 입니다. 이처럼 여러개의 가장 운영체계간의 상호작용을 설명 하려면, 독자들이 한 눈에 구분 가능하여야 합니다.

위 사진은 241 p 의 내용입니다. 사진에서 보이는 것처럼 3개의 운영체계 myserver01, myserver02, myserver03 이 각각 다른색으로 표시되어 있어서 개별 내용마다 설정내용 및 IP 주소값을 한 눈에 알 수 있도록 되어 있습니다.


내용 살펴보기

Chapter 1 실습환경 구축하기

Docker 는 기본적으로 Linux 운영체제 위에서 활용 가능한 서비스 입니다. 때문에 리눅스를 가상으로 실행하여야 하는데 이에 필요한 소프트웨어 설치 및 작업 내용을 상세하게 설명하고 있었습니다. 저는 듀얼부팅을 활용하여 윈도우와 우분투 운영체제를 활용하고 있어서 1장은 빠르게 넘어갈 수 있었습니다.


Part 1 도커

Chapter 2 도커의 개념

Docker 가 무엇인지, 어떤 형태로 서비스가 동작되는지에 대하여 자세한 설명들을 볼 수 있었습니다. Docker 에 대하여 궁금하신 분이라면 챕터2장의 내용을 서점에서 빠르게 읽어보는 것 만으로도 많은 도움이 될 것입니다.

Chapter 3,4 도커 설치, 기초

설명하는 내용이 상당히 방대함에도 불구하고, 필요한 개념들을 앞 장에서 미리 설명을 한 뒤였기 때문에, 군더더기 없이 실습에 필요한 내용들을 잘 정리하고 있었습니다. 특치 4장 도커기초Docker 서비스 활용하는데 필요한 모든 명령들을 모아 놓았는데도 불구하고 전체 페이지가 50p 남짓밖에 안 되었습니다. 이 챕터의 내용을 한꺼번에 소화하기는 어려울 수 있지만, 다음 장 부터 구체적인 실습을 하는데 필요한 명령어, 또는 책을 읽고나서 내가 필요로 하는 명령어를 찾아보기 쉽도록 잘 짜여저 있었습니다.

그리고 군더더기가 없다는 점을 위 사진에서도 확인할 수 있습니다. 위 사진은 88 page 의 내용으로 현재 작업중인 PC 내부에 저장된 Docker Images 파일들을 확인하는 과정 입니다. 해당 명령은 다음과 같은 명령으로도 실행 가능합니다.

$ docker images

사진의 명령어와 동일한 작동을 하는 내용으로 image 에 복수형인 s 를 붙이면 되는데, 이 책에서는 이러한 동일한 작동을 하지만 명령어 내용이 다른내용은 제외되고 위의 내용 하나만 설명을 하고 있습니다.

이유는 리눅스에서 내용을 살펴보는 내용이 ls 인데 이처럼 Bash Shell 의 명령구조를 이해하기 쉽도록 위 명령만 설명을 하고 있었습니다.

Chapter 5, 6 Django, Flask 실행하기

Docker 서비스 위에서 PostgreSQL, Django 혹은 Flask 웹서비스를 Nginx 위에서 구현하는 내용을 다루고 있습니다. Bash 터미널 위에서 실습을 따라갈 수 있도록 잘 설명되어 있었습니다.


Part 2 쿠버네티스

지금까지 배포를 위한 이미지를 작성했다면, 구체적으로 서비스 배포 및 모니터링을 돕는 서비스 입니다. 특징은 지금까지 살펴본 것과 같았습니다.

  1. 필요한 개념들을 칼라로 된 이미지와 함께 상세히 설명한 뒤
  2. 예제 및 명령어 실습을 모아 둠으로써 집중적으로 실습이 가능하고
  3. 칼라 이미지를 활용하여 가상서비스간의 연결 구조를 알기 쉽게 도와주고 있습니다.


마치며

Docker Hub 를 제외한 대부분의 작업들은 터미널에서 동작합니다. 이러한 점 때문에 호불호가 있을 수 있지만, 무조건 터미널 작업과 관련된 내용이 많은 것이 더 좋다고 말씀드릴 수 있습니다. 이유는 GUI 내용은 업데이트가 될 수록 바뀌는 부분이 많기 때문에 따라하기 어려워 지기 때문입니다.

이 책에서도 그런점이 가끔씩 보이는데 Docker Hub 관련 이미지와 2024년 5월 해당 페이지를 비교하면 상단바 구조가 약간씩 다른점이 보입니다. 하지만 구체적인 기능들은 동일하기 때문에 실습하기는 문제가 없었습니다.

이 책의 특징은 앞에서 설명드린 3가지 특징으로 요약 가능한 만큼 명확하기 때문에 파이썬 웹서비스 개발자면서, Docker 를 활용하려는 분들에게는 많은 도움이 될 것입니다. 파이썬을 모르는 개발자 분이더라도, 파이썬 기본개념만 익힌 뒤 Flask 예제를 따라하신다면 쉽게 내용들을 따라하실 수 있을 것입니다.

※ 본 리뷰는 IT 현업개발자가, 한빛미디어 책을 제공받아 작성한 서평입니다.