{"id":114,"date":"2017-08-31T10:54:00","date_gmt":"2017-08-31T13:54:00","guid":{"rendered":"https:\/\/www.linuxpro.com.br\/2017\/08\/curso-de-docker-gratis\/"},"modified":"2026-09-08T10:51:16","modified_gmt":"2026-09-08T13:51:16","slug":"curso-de-docker-gratis","status":"publish","type":"post","link":"https:\/\/www.linuxpro.com.br\/en\/2017\/08\/curso-de-docker-gratis\/","title":{"rendered":"Free Docker Course"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" alt=\"Mascote do LinuxPro dando aula sobre cont\u00eaineres no quadro, com a turma acompanhando e a baleia do Docker ao lado\" src=\"\/wp-content\/uploads\/2026\/09\/curso-docker-v3.webp\" width=\"1486\" height=\"856\" \/><\/p>\n<div style=\"background:#fff8e1;border-left:4px solid #8b1a1a;padding:.8em 1em;margin:1em 0\"><strong>Note (2026):<\/strong> Article from 2017. We checked the videos one by one and <strong>they are all still online<\/strong> \u2014 the course remains useful for conceptual foundations. What aged was the tooling: Docker was 1.12 and is now 29.x; <code data-no-translation=\"\">docker-machine<\/code> was discontinued and Swarm lost the battle. The section <em>What has aged<\/em>, at the end, explains what to skip and where to continue in 2026.<\/div>\n<p><strong>No more excuses for not learning Docker<\/strong>, if you cannot learn Docker with <a href=\"https:\/\/www.linkedin.com\/in\/jefersonfernando\/\">Jeferson<\/a>; you will not learn it with anyone else, because the guy is amazing!!<br \/>\nRecently Jeferson from LinuxTips posted on his <a href=\"https:\/\/www.youtube.com\/user\/linuxtipscanal\">channel<\/a> a <a href=\"https:\/\/www.youtube.com\/watch?v=0xxHiOSJVe8\">video<\/a> announcing that he would release version 1 of his Docker course, made in 2016, <strong>Completely Free<\/strong>.<\/p>\n<p>So I decided to create this post to organize all the lessons in order so you can plan and set aside time to finally learn Docker!!!<br \/>\n<strong>Remember that the 2017 version is already available with Docker's new functions and features.<\/strong><\/p>\n<p><!-- more --><\/p>\n<h2>Course announcement video<\/h2>\n<p><iframe style=\"width:100%;aspect-ratio:16\/9;border:0\" src=\"https:\/\/www.youtube-nocookie.com\/embed\/0xxHiOSJVe8\" allowfullscreen loading=\"lazy\"><\/iframe><\/p>\n<h2>First Week<\/h2>\n<ul>\n<li>Lesson 0 \u279c <a href=\"https:\/\/www.youtube.com\/watch?v=a0ts9vhaY0w\">INTRODUCTION<\/a><\/li>\n<li>Lesson 1 \u279c <a href=\"https:\/\/www.youtube.com\/watch?v=QFuOggpDAOw\">WHAT IS A CONTAINER?<\/a><\/li>\n<li>Lesson 2 \u279c <a href=\"https:\/\/www.youtube.com\/watch?v=Noi4MOHrZAc\">WHAT IS DOCKER?<\/a> <\/li>\n<li>Lesson 3 \u279c <a href=\"https:\/\/www.youtube.com\/watch?v=QlpIBEZavzI\">LAYERS AND COPY-ON-WRITE<\/a> <\/li>\n<li>Lesson 4 \u279c <a href=\"https:\/\/www.youtube.com\/watch?v=4w7eBwECO1M\">Docker Internals, Namespaces, CGROUP, Netfilter container<\/a><\/li>\n<li>Lesson 5 \u279c <a href=\"https:\/\/www.youtube.com\/watch?v=FTxBa7i8VMM\">INSTALLING DOCKER<\/a><\/li>\n<li>Lesson 6 \u279c <a href=\"https:\/\/www.youtube.com\/watch?v=f9D6gTNDyhE\">MANAGING DOCKER CONTAINERS<\/a><\/li>\n<li>Lesson 7 \u279c <a href=\"https:\/\/www.youtube.com\/watch?v=OZJZMbxSiuQ\">Limiting container CPU\/MEM and Docker Update<\/a><\/li>\n<li>Lesson 8 \u279c <a href=\"https:\/\/www.youtube.com\/watch?v=htqWxw8VTb4\">Volumes and data-only containers<\/a><\/li>\n<\/ul>\n<h2>Second Week<\/h2>\n<ul>\n<li>Lesson 9 \u279c <a href=\"https:\/\/www.youtube.com\/watch?v=a0Dm2Wiy2E0\">Dockerfile, Dockerfile, and more Dockerfiles!<\/a><\/li>\n<li>Lesson 10 \u279c <a href=\"https:\/\/www.youtube.com\/watch?v=TvhEJHbn1uE\">A little more Dockerfile and build<\/a><\/li>\n<li>Lesson 11 \u279c <a href=\"https:\/\/www.youtube.com\/watch?v=t9xAXZB_L3A\">Creating Docker container images part1 \u2013 Dockerfile<\/a><\/li>\n<li>Lesson 12 \u279c <a href=\"https:\/\/www.youtube.com\/watch?v=sjppkJjIvT4\">Docker Login, Docker push, Docker pull, and DockerHub<\/a><\/li>\n<li>Lesson 13 \u279c <a href=\"https:\/\/www.youtube.com\/watch?v=ndoF1VUFnWY\">Creating your Docker Registry<\/a><\/li>\n<li>Lesson 14 \u279c <a href=\"https:\/\/www.youtube.com\/watch?v=pKJgQmXXryg\">Configuring container networking options<\/a><\/li>\n<li>Lesson 15 \u279c <a href=\"https:\/\/www.youtube.com\/watch?v=DERATbSlB0s\">Docker-Machine \u2013 Installation and my first docker host<\/a><\/li>\n<\/ul>\n<h2>Third Week<\/h2>\n<ul>\n<li>Lesson 16 \u279c <a href=\"https:\/\/www.youtube.com\/watch?v=WDP9pdat1eY\">Docker Machine Part #2<\/a><\/li>\n<li>Lesson 17 \u279c <a href=\"https:\/\/www.youtube.com\/watch?v=Kz9KYsSDnQE\">Docker Compose Part #1<\/a><\/li>\n<li>Lesson 18 \u279c <a href=\"https:\/\/www.youtube.com\/watch?v=4xEmf4oQygw\">Docker Compose Part #2<\/a><\/li>\n<li>Lesson 19 \u279c <a href=\"https:\/\/www.youtube.com\/watch?v=KfH1cJErGb0\">Clustering and Orchestration with Docker 1.12<\/a><\/li>\n<li>Lesson 20 \u279c <a href=\"https:\/\/www.youtube.com\/watch?v=zfSAxvy90z0\">Containers orchestration using only Docker 1.12<\/a><\/li>\n<li>Lesson 21 \u279c <a href=\"https:\/\/www.youtube.com\/watch?v=IYfSWOrSWRE\">Docker 1.12, docker services, swarm, docker nodes Part #2<\/a><\/li>\n<li>Lesson 22 \u279c <a href=\"https:\/\/www.youtube.com\/watch?v=RXH10WCgwR0\">Docker 1.12, handle your cluster containers orchestration Part #3<\/a><\/li>\n<\/ul>\n<h2>Fourth Week<\/h2>\n<p>The fourth week of the original version was never published in the same sequence as the earlier weeks \u2014 the channel continued with standalone content and later the 2017 version of the course, including Docker's new features at the time. If you reached lesson 22, the natural next step is to go straight to the topics that replaced that section, listed at the end of this post.<\/p>\n<h2>Prerequisites<\/h2>\n<p>Have a machine or VM running Linux to make learning easier.<\/p>\n<h2>What has aged in the course (and what still holds up)<\/h2>\n<p>Nine years is a long time in containers. It is worth knowing what to watch with caveats:<\/p>\n<p><strong>Still accurate \u2014 and this is the part that matters:<\/strong> lessons 1 through 8. What containers are, layers, and <em>copy-on-write<\/em>, and especially lesson 4, on <strong>namespaces<\/strong> and <strong>cgroups<\/strong>. These two kernel primitives are what make containers exist, have not changed, and understanding them separates those who use Docker from those who know Docker. The topic is explored further in <a href=\"\/en\/2026\/09\/a-historia-do-kubernetes\/\">The history of Kubernetes<\/a>.<\/p>\n<p><strong>The command changed:<\/strong> the course uses <code data-no-translation=\"\">docker-compose<\/code> with a hyphen, the Python binary. Today it is <code data-no-translation=\"\">docker compose<\/code>, without a hyphen \u2014 a Go plugin integrated into the CLI. The YAML file syntax is practically the same; the field <code data-no-translation=\"\">version:<\/code> at the top became obsolete and can be removed.<\/p>\n<p class=\"translation-block\"><strong>Left the scene:<\/strong> <code>docker-machine<\/code> from lessons 15 and 16 was discontinued. It existed to provision Docker hosts on VMs and in the cloud, a role now handled by Terraform, cloud-init, or simply an <code>apt install docker.io<\/code> on the target machine.<\/p>\n<p><strong>Lost the battle:<\/strong> lessons 19 through 22, on <em>swarm mode<\/em> and orchestration within Docker 1.12 itself, portray a bet that did not pay off. In 2017 Docker, Inc. itself began supporting Kubernetes, and the market followed. Swarm still works and is great for a handful of machines \u2014 but it is not what the job market asks for.<\/p>\n<p><strong>And the version:<\/strong> the course's Docker is 1.12, from 2016. In September 2026 the engine is in the series <strong>29<\/strong>. Nothing you learn in the early lessons has broken; what changed is the surrounding tooling \u2014 BuildKit as the default builder, <code data-no-translation=\"\">docker init<\/code>, <em>multi-stage build<\/em> and images without an underlying distribution.<\/p>\n<h2>Where to continue in 2026<\/h2>\n<ul>\n<li><strong>After the concepts, move to Kubernetes.<\/strong> That is where the market went. The history and lab path with <code data-no-translation=\"\">kind<\/code>, <code data-no-translation=\"\">minikube<\/code> and k3s are covered in <a href=\"\/en\/2026\/09\/a-historia-do-kubernetes\/\">The history of Kubernetes<\/a>.<\/li>\n<li><strong>Understand where the whale came from.<\/strong> <a href=\"\/en\/2026\/09\/a-historia-do-docker\/\">The history of Docker<\/a> explains why the company that made containers obvious lost the layer above them.<\/li>\n<li><strong>Learn to build images properly.<\/strong> <em>Multi-stage build<\/em>, a non-root user, and a minimal image matter more in practice than any orchestration course.<\/li>\n<li><strong>Use an agent to get unstuck.<\/strong> Pasting a <code data-no-translation=\"\">Dockerfile<\/code> that will not build into an <a href=\"\/en\/2026\/09\/assistentes-de-ia-no-terminal-linux\/\">AI assistant in the terminal<\/a> solves in seconds what once took an afternoon of searching.<\/li>\n<\/ul>\n<h2>Summary<\/h2>\n<p>Docker is a software platform that enables applications to be created, tested, and deployed quickly. Docker packages software into standardized units called containers, which contain everything the software needs to run, including libraries, system tools, code, and runtime.<\/p>\n<h2>Target audience<\/h2>\n<p>Anyone working in infrastructure, development, or systems operations \u2014 and in 2026 that means practically everyone who puts software online. Containers stopped being a specialty and became a basic skill, like knowing <code data-no-translation=\"\">ssh<\/code>.<\/p>\n<p class=\"translation-block\">Credit still goes to <a href=\"https:\/\/www.linkedin.com\/in\/jefersonfernando\/\" target=\"_blank\" rel=\"noopener\">Jeferson Fernando<\/a> and the <a href=\"https:\/\/www.youtube.com\/user\/linuxtipscanal\" target=\"_blank\" rel=\"noopener\">LinuxTips<\/a> channel, which released a complete Portuguese-language course for free when there was almost no material of that quality available here.<\/p>\n<h2>Links<\/h2>\n<ul>\n<li>https:\/\/www.docker.com\/<\/li>\n<li><a href=\"https:\/\/www.digitalocean.com\/community\/tutorials\/como-instalar-e-utilizar-o-docker-primeiros-passos-pt\">Getting Started<\/a><\/li>\n<li><a href=\"https:\/\/www.digitalocean.com\/community\/tutorials\/como-instalar-e-usar-o-docker-no-ubuntu-16-04-pt\">Install Docker<\/a><\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>There is no excuse left for not learning Docker. If you cannot learn Docker with Jeferson, you will not learn it with anyone \u2014 he really knows his stuff! Recently, Jeferson from LinuxTips posted a video on his channel announcing \u2026 <a title=\"Free Docker Course\" class=\"read-more\" href=\"https:\/\/www.linuxpro.com.br\/en\/2017\/08\/curso-de-docker-gratis\/\" aria-label=\"Read more about Curso de Docker Gr\u00e1tis\">Read more<\/a><\/p>","protected":false},"author":0,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[28],"tags":[29,31,32,30],"class_list":["post-114","post","type-post","status-publish","format-standard","hentry","category-dicas","tag-blog","tag-golang","tag-static-site","tag-zola"],"_links":{"self":[{"href":"https:\/\/www.linuxpro.com.br\/en\/wp-json\/wp\/v2\/posts\/114","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.linuxpro.com.br\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.linuxpro.com.br\/en\/wp-json\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/www.linuxpro.com.br\/en\/wp-json\/wp\/v2\/comments?post=114"}],"version-history":[{"count":6,"href":"https:\/\/www.linuxpro.com.br\/en\/wp-json\/wp\/v2\/posts\/114\/revisions"}],"predecessor-version":[{"id":1386,"href":"https:\/\/www.linuxpro.com.br\/en\/wp-json\/wp\/v2\/posts\/114\/revisions\/1386"}],"wp:attachment":[{"href":"https:\/\/www.linuxpro.com.br\/en\/wp-json\/wp\/v2\/media?parent=114"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.linuxpro.com.br\/en\/wp-json\/wp\/v2\/categories?post=114"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.linuxpro.com.br\/en\/wp-json\/wp\/v2\/tags?post=114"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}