{"id":82423,"date":"2026-09-22T17:24:29","date_gmt":"2026-09-22T20:24:29","guid":{"rendered":"https:\/\/a3aengenharia.com\/?post_type=articles&#038;p=82423"},"modified":"2026-09-22T17:24:29","modified_gmt":"2026-09-22T20:24:29","slug":"what-is-docker-2","status":"publish","type":"articles","link":"https:\/\/a3aengenharia.com\/en-us\/content\/technical-articles\/what-is-docker-2\/","title":{"rendered":"What is Docker?"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong>Docker<\/strong> is an <a href=\"\/glossario\/\" target=\"_blank\" rel=\"noreferrer noopener\">open-source<\/a> platform that uses <strong>container<\/strong> technology to simplify the development, deployment, and execution of applications in isolated computing environments.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In this article, we will understand what a container is, the main concepts related to <strong>Docker<\/strong>, and the impact this platform has on software development and system hosting.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Read on.<\/p>\n\n\n<p>[elementor-template id=&#8221;24446&#8243;]<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" style=\"margin-right:0;margin-bottom:var(--wp--preset--spacing--40)\">What is a Container?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A container is a form of <a href=\"\/glossario\/\">virtualization<\/a> at the <strong>operating-system level<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Unlike <em><a href=\"\/glossario\/\" target=\"_blank\" rel=\"noreferrer noopener\">hypervisor<\/a><\/em>-based virtualization (e.g., VMware and VirtualBox), which creates complete virtual machines with fully independent operating systems, containers share the host operating system <a href=\"\/glossario\/\">kernel<\/a>, allowing multiple isolated user-space instances to run in the same environment.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Platforms such as Docker drastically reduce resource <em><a href=\"\/glossario\/\" target=\"_blank\" rel=\"noreferrer noopener\">overhead<\/a><\/em> and can accelerate startup time compared with virtual machines.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" src=\"https:\/\/a3aengenharia.com.br\/wp-content\/uploads\/2024\/12\/containerizacao.jpeg\" alt=\"\" class=\"wp-image-28152\" style=\"width:500px\" srcset=\"https:\/\/a3aengenharia.com\/wp-content\/uploads\/2024\/12\/containerizacao.jpeg 1024w, https:\/\/a3aengenharia.com\/wp-content\/uploads\/2024\/12\/containerizacao-300x300.jpeg 300w, https:\/\/a3aengenharia.com\/wp-content\/uploads\/2024\/12\/containerizacao-100x100.jpeg 100w, https:\/\/a3aengenharia.com\/wp-content\/uploads\/2024\/12\/containerizacao-600x600.jpeg 600w, https:\/\/a3aengenharia.com\/wp-content\/uploads\/2024\/12\/containerizacao-64x64.jpeg 64w, https:\/\/a3aengenharia.com\/wp-content\/uploads\/2024\/12\/containerizacao-512x512.jpeg 512w, https:\/\/a3aengenharia.com\/wp-content\/uploads\/2024\/12\/containerizacao-150x150.jpeg 150w, https:\/\/a3aengenharia.com\/wp-content\/uploads\/2024\/12\/containerizacao-768x768.jpeg 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Representative diagram of containerization.<br>Source: <a href=\"https:\/\/dockerbook.com\/\" target=\"_blank\">The Docker Book | James Turnbull<\/a><\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" style=\"margin-bottom:var(--wp--preset--spacing--40)\">What is Docker used for?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Docker is a powerful tool that provides isolation through <strong>containers<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Containers create isolated computing environments for testing and serve as consistent, reusable building blocks for services.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Here are some examples of how Docker can be used:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Testing Environment<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Developers can create, run, and share Docker containers in their local environments.<\/li>\n\n\n\n<li>Containers built in the development environment can be promoted to testing and later to production, ensuring consistency across stages.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Self-Hosting<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Running independent services and applications<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Allows services and applications to run consistently across different environments.<\/li>\n\n\n\n<li>Ideal for service-oriented architectures and microservices-based deployments.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Application Development<\/h3>\n\n\n\n<h3 class=\"wp-block-heading\">High-Performance Deployments<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Isolated testing in continuous integration (CI)<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Tools such as Jenkins CI use Docker to create isolated instances for running tests.<\/li>\n\n\n\n<li>Reduces the risk of interference among tests and improves CI-process reliability.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Building and testing complex architectures<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Allows complex applications to be replicated and tested on a local host before deployment to production environments.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Creating multi-user Platform-as-a-Service (PaaS) infrastructures<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Docker can provide the foundation for building platforms that support multiple users and services.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Lightweight, independent environments for learning and development<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ideal for creating isolated sandboxes to:<\/li>\n\n\n\n<li>Test technologies such as Unix shells.<\/li>\n\n\n\n<li>Learn and teach programming languages.<\/li>\n\n\n\n<li>Run experiments without affecting the primary system.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">SaaS (Software as a Service) applications<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Docker can be used to build and deploy SaaS applications, enabling efficient management and scalability.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">High-performance and hyperscale deployments<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Containers are extremely lightweight, allowing multiple hosts to be configured quickly to meet large-scale demand.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" style=\"margin-bottom:var(--wp--preset--spacing--40)\">How does Docker work?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Docker introduces an application-deployment mechanism based on a runtime environment that uses virtualized containers.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This mechanism provides an efficient workflow that facilitates moving code from the local development environment to testing and then to production.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"margin-bottom:var(--wp--preset--spacing--30)\">Docker Architecture<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Docker uses a client-server architecture.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The <strong>Docker client<\/strong> communicates with the <strong>Docker server (daemon)<\/strong>, which performs the more complex operations, such as creating, running, and distributing Docker containers.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The Docker client and daemon can run on the same system or remotely, with the client connecting to a daemon located on another machine.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Communication between client and daemon uses a <strong>REST API<\/strong>, which can operate through UNIX sockets or network interfaces.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1233\" height=\"651\" src=\"https:\/\/a3aengenharia.com.br\/wp-content\/uploads\/2024\/12\/docker-architecture.webp\" alt=\"\" class=\"wp-image-28183\" style=\"object-fit:cover\" srcset=\"https:\/\/a3aengenharia.com\/wp-content\/uploads\/2024\/12\/docker-architecture.webp 1233w, https:\/\/a3aengenharia.com\/wp-content\/uploads\/2024\/12\/docker-architecture-600x317.webp 600w, https:\/\/a3aengenharia.com\/wp-content\/uploads\/2024\/12\/docker-architecture-64x34.webp 64w, https:\/\/a3aengenharia.com\/wp-content\/uploads\/2024\/12\/docker-architecture-512x270.webp 512w, https:\/\/a3aengenharia.com\/wp-content\/uploads\/2024\/12\/docker-architecture-1024x541.webp 1024w, https:\/\/a3aengenharia.com\/wp-content\/uploads\/2024\/12\/docker-architecture-768x405.webp 768w\" sizes=\"auto, (max-width: 1233px) 100vw, 1233px\" \/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\" style=\"margin-top:var(--wp--preset--spacing--50);margin-bottom:var(--wp--preset--spacing--30)\">Docker Client<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">The <strong>Docker client<\/strong> (<code>docker<\/code>) is the primary interface users employ to interact with Docker.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">When you run commands such as <code>docker run<\/code>, the client sends those instructions to the daemon (<code>dockerd<\/code>), which executes them.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The Docker client uses the <strong>Docker API<\/strong> and can connect to multiple daemons simultaneously.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" style=\"margin-bottom:var(--wp--preset--spacing--30)\">Docker Server (Daemon)<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">The <strong>Docker daemon<\/strong> (<code>dockerd<\/code>) listens for <strong>Docker API<\/strong> requests and manages Docker objects such as images, containers, networks, and volumes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The daemon can also communicate with other daemons to manage Docker services in a distributed environment.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" style=\"margin-bottom:var(--wp--preset--spacing--30)\">Docker Objects<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">When using Docker, you create and manipulate objects such as <strong>images<\/strong>, <strong>containers<\/strong>, <strong>networks<\/strong>, <strong>volumes<\/strong>, <strong>plugins<\/strong>, and others.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\" style=\"margin-bottom:var(--wp--preset--spacing--30)\">Images<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">An <strong>image<\/strong> is a read-only template containing instructions for creating a Docker container.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">An image is usually based on another existing image with some customizations. For example, you can create an image based on the <code>ubuntu<\/code> image and add the Apache web server, the application you want to run, and the configuration required for it to work.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You can create your own images or use images made available by other users in public registries.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To build an image, you need to create a <strong>Dockerfile<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The Dockerfile uses a simple syntax to define the steps required to create and run the image.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Each instruction in the Dockerfile creates a layer in the image.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">When the Dockerfile is modified and the image is rebuilt, only the changed layers are recreated. This makes images lightweight, compact, and fast, especially compared with other virtualization technologies.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\" style=\"margin-bottom:var(--wp--preset--spacing--30)\">Containers<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">A <strong>container<\/strong> is a runnable instance of an image.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You can create, start, stop, move, or delete a container using the <strong>Docker API<\/strong> or <strong>Docker CLI<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You can also connect a container to one or more networks, attach storage, or create a new image based on the container\u2019s current state.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">By default, containers are well isolated from one another and from the host system. The level of isolation for networks, storage, and other subsystems can be configured according to requirements.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A container is defined by its image and the configuration options provided when it is created or started.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">When a container is removed, any state change not stored in a persistent volume is lost.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" style=\"margin-bottom:var(--wp--preset--spacing--30)\">Registries<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">A <strong>Docker registry<\/strong> stores Docker images.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Docker Hub<\/strong> is the default public registry, available to any user, from which Docker retrieves images by default.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You can also configure and operate a private registry.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Commands such as <code>docker pull<\/code> or <code>docker run<\/code> cause Docker to download the required images from the configured registry.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Conversely, the <code>docker push<\/code> command allows you to upload your images to the configured registry.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Installing Docker<\/h2>\n\n\n\n<h2 class=\"wp-block-heading\"><\/h2>\n","protected":false},"excerpt":{"rendered":"<p>Docker is an open-source container platform for developing, deploying, and running applications in isolated environments. Learn the main concepts, architecture, images, containers, registries, and common use cases.<\/p>\n","protected":false},"author":1,"featured_media":27944,"parent":0,"template":"","meta":{"_a3a_global_related_solutions":[],"_a3a_global_related_services":[],"_a3a_global_related_materials":[],"_a3a_post_lang":"en-us","_a3a_translation_group_id":"3fdac2b7-99a4-4083-b23b-a368cc4260a2","_a3a_i18n_canonical_slug":"what-is-docker-2","_a3a_prod_post_id":"","_a3a_lang_url_en-us":"","_a3a_lang_url_es-es":""},"categories":[],"segments":[],"mercados":[],"etapas":[],"class_list":["post-82423","articles","type-articles","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/a3aengenharia.com\/en-us\/wp-json\/wp\/v2\/articles\/82423","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/a3aengenharia.com\/en-us\/wp-json\/wp\/v2\/articles"}],"about":[{"href":"https:\/\/a3aengenharia.com\/en-us\/wp-json\/wp\/v2\/types\/articles"}],"author":[{"embeddable":true,"href":"https:\/\/a3aengenharia.com\/en-us\/wp-json\/wp\/v2\/users\/1"}],"version-history":[{"count":1,"href":"https:\/\/a3aengenharia.com\/en-us\/wp-json\/wp\/v2\/articles\/82423\/revisions"}],"predecessor-version":[{"id":82425,"href":"https:\/\/a3aengenharia.com\/en-us\/wp-json\/wp\/v2\/articles\/82423\/revisions\/82425"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/a3aengenharia.com\/en-us\/wp-json\/wp\/v2\/media\/27944"}],"wp:attachment":[{"href":"https:\/\/a3aengenharia.com\/en-us\/wp-json\/wp\/v2\/media?parent=82423"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/a3aengenharia.com\/en-us\/wp-json\/wp\/v2\/categories?post=82423"},{"taxonomy":"segments","embeddable":true,"href":"https:\/\/a3aengenharia.com\/en-us\/wp-json\/wp\/v2\/segments?post=82423"},{"taxonomy":"mercados","embeddable":true,"href":"https:\/\/a3aengenharia.com\/en-us\/wp-json\/wp\/v2\/mercados?post=82423"},{"taxonomy":"etapas","embeddable":true,"href":"https:\/\/a3aengenharia.com\/en-us\/wp-json\/wp\/v2\/etapas?post=82423"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}