Understanding Docker, as Kubernetes and Istio, can be difficult or time-consuming. In order to spread knowledges about Cloud technologies I started to create sketchnotes about Docker. I think it could be a good way, more visual, to explain Docker (and others technologies).
I started the 3rd of August 2020 the first Docker sketchnote.
After almost six months, I've published all the Docker sketchnotes (and new ones!) in a book of 93 pages: "Understanding Docker in a visual way".
The book covers:
What is Docker?
Should we dockerize everything?
Docker Engine components (dockerd...)
Resources (Images, Layers, Registry, Container, Volumes, Events...)
Images features (dangling images, how to build, pull, push images...)
Container features (Run a container, copy to/from a container, exec in a container, stop & restart, exit status...
DockerFile Tips
Debugging / Troubleshooting Docker
Tips
Useful tools to use
And more :-)
Here the table of contents:
The whole book includes "How To" with concrete examples for all concepts and illustrations that allows to understand abstract concepts.
Almost six months of work (mostly done in the evening ^^).
It's cool but, let's talk how theses sketchnotes and how this book have been created.
Behind the scene
For Kubernetes and Istio books I've worked with my old Samsung tablet but in the middle of "Understanding Docker in a visual way" I change my materials to new ones!
A more professional one, but changing at the middle of a book it's not easy :-D.
Material
At the beginning I had:
- a Samsung Galaxy S4 Tablet 10.5"
- with the pencil
- and the software Samsung Notes.
And now I have :
- an iPad Pro 2020 12"
- with the (wondeful) Pencil 2
- and GoodNotes application
Switching hardware in the middle was really not easy, it was necessary to juggle the two tablets, pencils and software, but I do not regret this change.
I am particularly happy with the pencil and its accuracy! What a change from that of Samsung!
The pencil is very accurate, and coupled with the Goodnotes software, for me it is the ideal pair.
If you are interested I could make a video presenting GoodNotes as well as a demo of what is possible.
Problems caused by the material changes
I had to redraw all my characters, arrays, forms, all the illustrations that I created over my sketch notes.
I had to learn how to use a new tool, and yes it's my first apple mobile device. Learn to use a new material, software and re-draw everything it's not easy while still posting at a rate of one to two sketchnotes per week! :)
I also changed the way I generate and organize the final PDF.
At the beginning I was using I love pdf website, the free version but I very quickly came to the limits & it was very very time consuming :-(
Sketchnotes
For one sketchnote it took me several hours to days, depending on the complexity of the concept and the things I want to say about it.
With the Samsung tablet, each sketchnote I draw are exported in PDF format, even if the export in JPG format is allowed. Why? Because the JPG export in Samsung Notes have a very poor quality :'(.
So I first export in PDF and then transform the PDF to JPG in order to publish them in an article, in order to keep a minimum quality.
But the good news is that I can export in JPG directly with GoodNotes with my iPad!
Each exported sketchnote are stored in a Google Drive folder.
10.clean-and-purge_1.jpg
10.clean-and-purge_2.jpg
16.push-images-1.jpg
...
With Samsung tablet:
Then I write the article on dev.to platform, I transform PDF to JPG with ILovePDF website, my favorite pdf tool. I crope each JPG in order to remove blank part and then I upload them, in the good order.
I do that work for every sketchnotes of the serie.
With iPad:
I only have to create the article on dev.to and upload the JPG files :-).
Book preparation
Ok, I've already drew all the sketchnotes so now I only have to export in PDF files and concatenate them... No, it's not as easy as that :-).
I'm agree about the first step: export all the sketchnotes in PDF format, but it's only the first step.
Then, I had to imagine the table of contents with a good/correct order for all of the sketchnotes.
After, I drew several new sketchnotes and new pages:
- front cover
- thanks and changelog
- table of contents
- back cover
And then I store all the PDF in a Google Drive folder:
p01.docker-cover.pdf
p02.thanks.pdf
p03.docker-menu.pdf
p05.dockerize-everything.pdf
...
For "Understanding Kubernetes/Istio in a visual way" books, I create and organized the final PDF with "I love PDF" but it was not a viable solution, I reached too limits.
So, as a developer, I started with my initial problem to think about a better solution, which is the use of a PDFMergy addon for Google Drive :-)
So my new workflow is now:
- I draw in my tablet (Samsung initially and then iPad)
- I export each sketchnote in PDF format and I save them in my Google Drive folder
- I name my pdf with the desired page number (in order to order them)
- I select my whole list of PDFs to merge, I right click on my list of pdf to merge, I click on "PDF Mergy" menu, then I can reorder my list of pdf and add others then I click to merge them, and that's all folks!
This new workflow allows me to save a lot of time, to make less mistakes in the pdf to add, and allows me to change the order of the PDFs and no more limiting the number or size of the pdf!
Review
In my point of view, I can't publish a book, I can't publish a long article, I can't push a new feature without a review so I asked Sébastien to do the review of my book.
After several evening of feedbacks and useful remarks, and of course several changes, one week of a review later ... taadaaa the book was ready for publishing!
Finally, I created, in almost than six months, a book with 93 pages of sketchs and draws about Docker technology.
It's not a conventional book, again. It's a serie of sketchnotes that I hope it allows you to understand better, in a visual way, with simply words, complex concepts.
Publishing
Like the others two books, I published on:
and
With LeanPub you can write the book in MarkDown directly in the platform or upload it in PDF.
With GumRoad you can directly upload a PDF.
Theses two platform allows you to publish several books for free but they took a commission ;-).
I prefer the GumRoad website ergonomy in PC, tablet and mobile and the main reason why I choosed it is you can publish your book for "free price: 1€+".
It took me a huge amount of work in my free time, and if you have read all of this too long article, thank you if you can give me some feedbacks about "Understanding Docker in a visual way" :-).
So since the 31th of January, my third book is available on GumRoad: Understanding Docker in a visual way
Post-production
Oh, wait Aurélie, did you forget to talk about a table of content in the PDF?
Yes ... my bad :-D
As I love to use useful tips, I use a Python tool in order to generate the PDF table of content! :-)
1. Install PDFBookmarker
Tool: https://github.com/RussellLuo/pdfbookmarker
$ pip3 install pdfbookmarker
2. Create a text file that defines the list of bookmarks and the page related to
$ vi bookmarks-v1.0.0.txt
+"Cover"|1
+"Thanks"|2
+"Table of contents"|3
+"Dockerize everythinh?"|5
+"What is Docker?"|7
+"Docker Engine components"|9
+"Images"|11
++"Dangling images"|14
++"Build images"|16
++"Push images"|18
++"Pull & retrieve images"|20
+"Layers"|24
+"Registry"|28
+"Container"|30
++"Restart policies"|31
++"Exit status"|34
++"Run a container"|36
++"Copy to/from a container"|41
++"Exec in a container"|43
++"Stop & restart a container"|44
+"Volumes"|46
+"Events"|50
+"Search"|52
+"Scan vulnerabilities"|54
+"Clean & Purge"|56
+"Memory constraints"|60
+"Pass environment variables"|66
+"Dockerignore"|69
+"Node operations"|73
+"Run a container with privileged mode"|73
+"DockerFile Tips"|77
++"CMD: String vs JSON syntax"|77
++"CMD & ENTRYPOINT"|79
++"Pass build args (ARG)"|83
+"Debugging/troubleshooting"|86
+"Tools"|91
++"Dive"|91
++"Hub Tools"|92
+"Back cover"|93
3. Generate a new PDF with table of contents/PDF bookmarks
$ pdfbm understanding-docker-in-a-visual-way-aurelie-vache-1.0.0.pdf bookmarks-v1.0.0.txt
In processing, please wait...
New PDF generated: understanding-docker-in-a-visual-way-aurelie-vache-1.0.0.pdf
And that's it!
What's next?
Well, I'll continue to draw about Docker, Kubernetes, Istio ... and also GCP, Cloud, DevOps and I've got many of others ideas :-D
Conclusion
Publishing six month of works is not easy, it's a little bit stressful, so I hope you'll like this new book.
If you like my series of articles and you want to contribute to this new way or learning tech things, the book is available with "free price / pay what you want".
I love to share my knowledges and to help people so if you don't have many money, you can download it for only 1euro. The only thing I ask is to share to your networks.
I hope the book and the sketchnotes series about Docker will help you in your Docker journey!