{"id":49897,"date":"2026-02-04T19:16:46","date_gmt":"2026-02-04T22:16:46","guid":{"rendered":"\/pt\/tutoriais\/o-que-e-docker-compose"},"modified":"2026-03-10T12:59:16","modified_gmt":"2026-03-10T15:59:16","slug":"o-que-e-docker-compose","status":"publish","type":"post","link":"\/pt\/tutoriais\/o-que-e-docker-compose","title":{"rendered":"O que \u00e9 Docker Compose e como usar"},"content":{"rendered":"<p>O Docker Compose &eacute; uma ferramenta criada para definir e executar projetos com m&uacute;ltiplos containers. Ele &eacute; muito usado por desenvolvedores para simplificar a gest&atilde;o de servi&ccedil;os que dependem uns dos outros &mdash; como uma aplica&ccedil;&atilde;o front-end conectada a um banco de dados &mdash; permitindo administrar toda a stack de forma centralizada.<\/p><p>Em termos simples, quando falamos o que &eacute; Docker Compose, estamos falando de uma forma pr&aacute;tica de organizar e rodar v&aacute;rios containers ao mesmo tempo, sem precisar gerenciar cada um separadamente.<\/p><p>Usando um &uacute;nico arquivo YAML, o Docker Compose permite definir toda a infraestrutura necess&aacute;ria para a aplica&ccedil;&atilde;o, incluindo a imagem dos containers, a configura&ccedil;&atilde;o de rede interna e os volumes persistentes. Depois disso, basta executar o comando <strong>docker compose up<\/strong> para criar e iniciar todos os containers com base nessa configura&ccedil;&atilde;o.<\/p><p>Ao longo do ciclo de vida do projeto, voc&ecirc; pode gerenciar os containers com outros comandos do Compose. Por exemplo, <strong>docker compose down<\/strong> encerra e remove todos os servi&ccedil;os, enquanto <strong>docker compose ps<\/strong> lista os containers em execu&ccedil;&atilde;o definidos no arquivo YAML.<\/p><p>Para usar o Docker Compose, &eacute; necess&aacute;rio ter o Docker Engine e a Docker CLI instalados. Em seguida, voc&ecirc; pode configurar o Compose baixando o plugin pelo gerenciador de pacotes do seu sistema ou pelo Homebrew. Se voc&ecirc; usa o Docker Desktop, o Docker Compose j&aacute; vem inclu&iacute;do por padr&atilde;o.<\/p><p>Continue explorando para entender melhor o que &eacute; Docker Compose e como ele pode facilitar o gerenciamento de aplica&ccedil;&otilde;es baseadas em m&uacute;ltiplos containers.<\/p><p>\n\n\n\n<\/p><h2 class=\"wp-block-heading\" id=\"h-what-is-docker-compose\"><strong>O que &eacute; Docker Compose?<\/strong><\/h2><p>O Docker Compose &eacute; uma ferramenta que permite definir e executar aplica&ccedil;&otilde;es Docker com m&uacute;ltiplos containers de forma simples. Seu principal objetivo &eacute; centralizar e padronizar o gerenciamento de v&aacute;rios servi&ccedil;os que fazem parte da mesma aplica&ccedil;&atilde;o.<\/p><p>De forma pr&aacute;tica, quando algu&eacute;m pergunta o que &eacute; Docker Compose, a resposta &eacute;: uma maneira eficiente de organizar como os containers de uma aplica&ccedil;&atilde;o funcionam juntos. Ele usa um &uacute;nico arquivo YAML, onde voc&ecirc; define tudo sobre os servi&ccedil;os &mdash; qual imagem cada um usa, como eles se comunicam entre si e onde os dados persistentes s&atilde;o armazenados. Com essa configura&ccedil;&atilde;o, fica muito mais f&aacute;cil criar, iniciar e gerenciar os containers.<\/p><h2 class=\"wp-block-heading\" id=\"h-how-does-docker-compose-work\"><strong>Como o Docker Compose funciona?<\/strong><\/h2><p>O Docker Compose funciona definindo tr&ecirc;s componentes principais de aplica&ccedil;&otilde;es com m&uacute;ltiplos containers em um arquivo YAML: <strong>services<\/strong> (servi&ccedil;os), <strong>networks<\/strong> (redes) e <strong>volumes<\/strong>.<\/p><p>Quando voc&ecirc; faz o deploy de uma aplica&ccedil;&atilde;o a partir desse arquivo, o Docker Compose faz o pull ou o build da imagem necess&aacute;ria para criar cada servi&ccedil;o &mdash; que, na pr&aacute;tica, &eacute; um container em execu&ccedil;&atilde;o.<\/p><p>Em seguida, o Docker Compose cria uma rede interna para permitir que os servi&ccedil;os se comuniquem entre si e inicializa os volumes, usados para armazenar dados persistentes que podem ser compartilhados entre containers. Ele tamb&eacute;m configura as vari&aacute;veis de ambiente de cada servi&ccedil;o, facilitando a troca de informa&ccedil;&otilde;es sem precisar &ldquo;hardcodar&rdquo; dados sens&iacute;veis dentro das imagens.<\/p><p>Todas essas defini&ccedil;&otilde;es &mdash; qual imagem usar, como a rede ser&aacute; configurada, onde os volumes persistentes ser&atilde;o montados e quais vari&aacute;veis de ambiente incluir &mdash; ficam centralizadas no arquivo YAML. Isso significa que voc&ecirc; consegue criar, iniciar e gerenciar toda a aplica&ccedil;&atilde;o a partir de um &uacute;nico arquivo.<\/p><h3 class=\"wp-block-heading\" id=\"h-example-of-a-docker-compose-yaml-file\"><strong>Exemplo de arquivo YAML do Docker Compose<\/strong><\/h3><p>Abaixo est&aacute; um exemplo real de um arquivo YAML do Docker Compose que define um projeto com dois servi&ccedil;os interligados: uma aplica&ccedil;&atilde;o web simples e uma inst&acirc;ncia de cache Redis.<\/p><p>Para facilitar o entendimento, os coment&aacute;rios explicam o que cada linha faz:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">services:\n  web: # Servi&ccedil;o da aplica&ccedil;&atilde;o web\n    build: . # Cria a imagem a partir do Dockerfile no diret&oacute;rio atual\n    ports:\n      - \"8000:5000\" # Mapeia a porta 8000 do host para a porta 5000 do container\n    depends_on:\n      - redis # Garante que o servi&ccedil;o 'redis' seja iniciado antes do 'web'\n    volumes:\n      - .\/:\/app # Monta o diret&oacute;rio atual no container em \/app (bind mount)\n    environment:\n      REDIS_HOST: ${REDIS_HOST:-redis} # Define REDIS_HOST via vari&aacute;vel de ambiente ou usa 'redis' como padr&atilde;o\n\n  redis: # Servi&ccedil;o do cache Redis\n    image: redis:6 # Usa a imagem oficial do Redis (vers&atilde;o 6)\n    expose:\n      - \"6379\" # Exp&otilde;e a porta 6379 apenas para outros servi&ccedil;os na rede Docker\n    volumes:\n      - redis_data:\/data # Persiste os dados do Redis em um volume nomeado\n\nvolumes:\n  redis_data: {} # Declara o volume nomeado para persist&ecirc;ncia dos dados do Redis<\/pre><p>Vale notar que, dependendo da sua aplica&ccedil;&atilde;o, dos servi&ccedil;os usados e da configura&ccedil;&atilde;o necess&aacute;ria, o conte&uacute;do do arquivo YAML pode variar bastante.<\/p><h2 class=\"wp-block-heading\" id=\"h-how-to-install-docker-compose\"><strong>Como instalar o Docker Compose<\/strong><\/h2><p>Os passos para instalar o Docker Compose variam de acordo com o tipo de instala&ccedil;&atilde;o do Docker e com o sistema operacional que voc&ecirc; usa.<\/p><p>Se voc&ecirc; utiliza o <strong>Docker Desktop<\/strong>, o Compose j&aacute; vem configurado por padr&atilde;o. J&aacute; no <strong>Docker CLI<\/strong>, &eacute; poss&iacute;vel instalar o plugin do Compose pelo reposit&oacute;rio oficial ou manualmente. Aqui, vamos mostrar o m&eacute;todo pelo reposit&oacute;rio oficial, que facilita atualiza&ccedil;&otilde;es futuras.<\/p><p>Antes de continuar, certifique-se de que o Docker Engine e a Docker CLI j&aacute; est&atilde;o configurados. Caso ainda n&atilde;o estejam, vale conferir nosso <a href=\"\/pt\/tutoriais\/instalar-docker-ubuntu\">guia de instala&ccedil;&atilde;o do Docker no Ubuntu<\/a> para ver o passo a passo completo.<\/p><p>Depois de configurar o Engine e a CLI, instale o Docker Compose conforme o seu sistema operacional. No Linux, a instala&ccedil;&atilde;o pode ser feita usando o gerenciador de pacotes do sistema. Em distribui&ccedil;&otilde;es baseadas em Debian, como Ubuntu, use os comandos abaixo:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo apt update<\/pre><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo apt install docker-compose-plugin<\/pre><p>Se voc&ecirc; estiver usando uma distribui&ccedil;&atilde;o que n&atilde;o seja baseada em Debian, basta substituir o <strong>apt<\/strong> pelo gerenciador de pacotes correspondente. Por exemplo, em distribui&ccedil;&otilde;es baseadas em RHEL, use <strong>dnf<\/strong>.<\/p><p>No macOS, voc&ecirc; pode instalar o Docker Compose via Homebrew com o comando:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">brew install docker-compose<\/pre><p>Tanto no Linux quanto no macOS, d&aacute; para verificar se o Docker Compose foi instalado corretamente executando:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker compose version<\/pre><p>Se tudo estiver configurado corretamente, o terminal exibir&aacute; a vers&atilde;o do Docker Compose instalada no sistema.<\/p><div class=\"wp-block-image\"><figure data-wp-context='{\"imageId\":\"69fc61230b664\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"\/tutorials\/wp-content\/uploads\/sites\/2\/2025\/10\/terminal-outputs-the-installed-docker-compose-version.png\" alt=\"Terminal exibindo a vers&atilde;o instalada do Docker Compose\" class=\"wp-image-135625\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Ampliar\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><h2 class=\"wp-block-heading\" id=\"h-how-to-use-docker-compose\"><strong>Como usar o Docker Compose<\/strong><\/h2><p>Usar o Docker Compose permite definir a configura&ccedil;&atilde;o da aplica&ccedil;&atilde;o, executar toda a stack e gerenciar seu ciclo de vida usando uma &uacute;nica ferramenta.<\/p><p>Para mostrar o que &eacute; Docker Compose na pr&aacute;tica e como ele funciona em um cen&aacute;rio real, vamos imaginar que voc&ecirc; queira <a href=\"\/pt\/tutoriais\/wordpress-docker\">rodar o WordPress no Ubuntu usando Docker<\/a>. O fluxo b&aacute;sico seria assim:<\/p><ol class=\"wp-block-list\">\n<li>Use um editor de texto, como o <a href=\"\/pt\/tutoriais\/como-instalar-editor-de-texto-nano\/\">nano<\/a>, para criar um arquivo de configura&ccedil;&atilde;o YAML ou YML. Voc&ecirc; pode usar qualquer nome, mas o ideal &eacute; manter os padr&otilde;es <strong>docker-compose.yml<\/strong> ou <strong>compose.yaml<\/strong>, pois isso facilita o gerenciamento.<\/li>\n\n\n\n<li>Dentro do arquivo YAML, defina as imagens do WordPress e do MySQL, junto com suas configura&ccedil;&otilde;es &mdash; como rede, volumes persistentes e depend&ecirc;ncias entre servi&ccedil;os.<\/li>\n\n\n\n<li>Use o Docker Compose para criar e iniciar todos os servi&ccedil;os com base no arquivo de configura&ccedil;&atilde;o:<\/li>\n<\/ol><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker compose up<\/pre><ol start=\"4\" class=\"wp-block-list\">\n<li>Ao longo do projeto, pode ser necess&aacute;rio parar e remover todos os containers para manuten&ccedil;&atilde;o ou atualiza&ccedil;&otilde;es. Para isso, execute:<\/li>\n<\/ol><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker compose down<\/pre><p>Voc&ecirc; pode alterar o comportamento do comando <strong>docker compose<\/strong> usando flags. Por exemplo, se o arquivo de configura&ccedil;&atilde;o n&atilde;o tiver o nome padr&atilde;o, use a flag<strong> -f<\/strong> ou <strong>&ndash;file<\/strong> para indicar qual arquivo o Docker deve ler:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker compose -f seu-arquivo-do-compose.yaml up<\/pre><p>Por padr&atilde;o, o Docker Compose cria os containers no diret&oacute;rio atual. Para fazer o deploy a partir de outro local, use a flag <strong>&ndash;project-directory<\/strong>:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker compose --project-directory \/full\/deployment\/path up<\/pre><p><div class=\"protip\">\n                    <h4 class=\"title\">Executando containers em segundo plano &#128230;<\/h4>\n                    <p>Por padr&atilde;o, o Docker Compose executa a aplica&ccedil;&atilde;o diretamente na sess&atilde;o principal do terminal. Se voc&ecirc; quiser rodar tudo em segundo plano, adicione a flag <strong>-d<\/strong> ou <strong>--detach<\/strong>.<\/p>\n                <\/div>\n\n\n\n<\/p><p>Tamb&eacute;m &eacute; poss&iacute;vel combinar v&aacute;rias flags usando uma barra invertida. Por exemplo, para fazer o deploy a partir de um arquivo YAML com nome espec&iacute;fico e em outro diret&oacute;rio:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker compose \n  -f \/path\/to\/my-docker-compose.yaml \n  --project-directory \/path\/to \n  up<\/pre><p>Ao remover containers, os dados continuam preservados porque ficam armazenados em volumes persistentes. Se voc&ecirc; quiser remover os volumes tamb&eacute;m, use a flag <strong>&ndash;volumes<\/strong>:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker compose down --volumes<\/pre><h3 class=\"wp-block-heading\" id=\"h-common-docker-compose-commands\"><strong>Comandos mais usados do Docker Compose<\/strong><\/h3><p>Al&eacute;m dos comandos <strong>up<\/strong> e <strong>down<\/strong>, o Docker Compose oferece v&aacute;rias op&ccedil;&otilde;es para gerenciar toda a stack da aplica&ccedil;&atilde;o. Os mais usados s&atilde;o:<\/p><ul class=\"wp-block-list\">\n<li><strong>docker compose ps<\/strong> &ndash; lista os containers em execu&ccedil;&atilde;o gerenciados pelo Docker Compose, incluindo nome, imagem, servi&ccedil;o, status e portas.<\/li>\n\n\n\n<li><strong>docker compose logs<\/strong> &ndash; exibe os logs de todos os servi&ccedil;os. Com a flag <strong>-f<\/strong>, os logs s&atilde;o mostrados em tempo real.<\/li>\n\n\n\n<li><strong>docker compose start<\/strong> &ndash; inicia containers existentes que estavam parados.<\/li>\n\n\n\n<li><strong>docker compose stop<\/strong> &ndash; para containers em execu&ccedil;&atilde;o sem remov&ecirc;-los.<\/li>\n\n\n\n<li><strong>docker compose restart<\/strong> &ndash; reinicia imediatamente os containers.<\/li>\n\n\n\n<li><strong>docker compose build<\/strong> &ndash; for&ccedil;a a reconstru&ccedil;&atilde;o das imagens definidas com <em>build<\/em> no arquivo YAML. Use <strong>&ndash;no-cache<\/strong> para um rebuild limpo.<\/li>\n\n\n\n<li><strong>docker compose push<\/strong> &ndash; envia todas as imagens criadas para seus registries remotos.<\/li>\n\n\n\n<li><strong>docker compose pull<\/strong> &ndash; baixa todas as imagens necess&aacute;rias para a stack sem iniciar os containers.<\/li>\n<\/ul><h2 class=\"wp-block-heading\" id=\"h-what-s-the-difference-between-docker-vs-docker-compose\">Qual &eacute; a diferen&ccedil;a entre Docker e Docker Compose?<\/h2><p>O Docker re&uacute;ne v&aacute;rios conceitos, termos e ferramentas, cada um com uma fun&ccedil;&atilde;o espec&iacute;fica dentro do ecossistema de containers. Entender essas diferen&ccedil;as ajuda a usar a plataforma de forma mais eficiente.<\/p><p>O Docker Compose faz parte desse ecossistema e costuma ser confundido com o Docker CLI. Ambos s&atilde;o ferramentas de linha de comando usadas para gerenciar recursos no Docker, mas t&ecirc;m prop&oacute;sitos diferentes.<\/p><p>A seguir, veja uma compara&ccedil;&atilde;o direta entre Docker CLI e Docker Compose:<\/p><figure tabindex=\"0\" class=\"wp-block-table\"><table><thead><tr><th>Aspecto<\/th><th>Docker CLI<\/th><th>Docker Compose<\/th><\/tr><\/thead><tbody><tr><td><strong>Caso de uso<\/strong><\/td><td>Mais indicado para configura&ccedil;&otilde;es com um &uacute;nico container<\/td><td>Criado para aplica&ccedil;&otilde;es com m&uacute;ltiplos containers<\/td><\/tr><tr><td><strong>Orquestra&ccedil;&atilde;o<\/strong><\/td><td>Manual &ndash; &eacute; preciso iniciar cada container separadamente<\/td><td>Automatizada &ndash; todos os servi&ccedil;os s&atilde;o gerenciados a partir de um &uacute;nico arquivo YAML<\/td><\/tr><tr><td><strong>Formato de configura&ccedil;&atilde;o<\/strong><\/td><td>Definida diretamente no comando, usando flags<\/td><td>Declarada dentro de um arquivo YAML<\/td><\/tr><tr><td><strong>Reutiliza&ccedil;&atilde;o e portabilidade<\/strong><\/td><td>Dif&iacute;cil de compartilhar e reproduzir setups complexos, j&aacute; que a configura&ccedil;&atilde;o fica no comando<\/td><td>F&aacute;cil de versionar e reutilizar, pois toda a configura&ccedil;&atilde;o fica em um arquivo &uacute;nico<\/td><\/tr><tr><td><strong>Ambiente de testes e desenvolvimento<\/strong><\/td><td>Trabalhoso em ambientes com v&aacute;rios servi&ccedil;os<\/td><td>Ideal para desenvolvimento local, com todos os servi&ccedil;os centralizados<\/td><\/tr><tr><td><strong>Uso em produ&ccedil;&atilde;o<\/strong><\/td><td>Adequado para projetos simples<\/td><td>Pode ser usado em produ&ccedil;&atilde;o, mas costuma ser substitu&iacute;do por Docker Swarm ou Kuber<\/td><\/tr><\/tbody><\/table><\/figure><h2 class=\"wp-block-heading\" id=\"h-what-s-the-next-step-after-using-docker-compose\"><strong>Qual &eacute; o pr&oacute;ximo passo depois de usar o Docker Compose?<\/strong><\/h2><p>Depois de aprender o que &eacute; Docker Compose e como us&aacute;-lo, voc&ecirc; j&aacute; consegue gerenciar projetos com v&aacute;rios servi&ccedil;os de forma pr&aacute;tica e eficiente. No entanto, em cen&aacute;rios reais, &eacute; comum precisar trabalhar com containers individuais &mdash; seja para adicionar um novo servi&ccedil;o, ajustar configura&ccedil;&otilde;es espec&iacute;ficas ou resolver problemas pontuais da aplica&ccedil;&atilde;o.<\/p><p>Vale lembrar que, embora o Docker Compose e os containers sejam conceitos centrais da plataforma, projetos maiores costumam exigir outras ferramentas. &Agrave; medida que sua aplica&ccedil;&atilde;o cresce, pode fazer sentido migrar para solu&ccedil;&otilde;es como Kubernetes ou Docker Swarm, que oferecem mais controle e confiabilidade no gerenciamento de m&uacute;ltiplos containers em escala.<\/p><p>Se voc&ecirc; quiser fazer o deploy de uma aplica&ccedil;&atilde;o em containers usando um <a href=\"\/pt\/servidor-vps\">VPS da Hostinger<\/a>, pode usar o <strong>Docker Compose Manager<\/strong>. Ele oferece um painel de gerenciamento integrado ao hPanel, facilitando tanto a implanta&ccedil;&atilde;o quanto a administra&ccedil;&atilde;o de aplica&ccedil;&otilde;es baseadas em Docker.<\/p><figure class=\"wp-block-image size-large\"><a href=\"\/pt\/alojamento-vps\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" width=\"1024\" height=\"300\" src=\"https:\/\/blog.hostinger.io\/pt-tutoriais\/wp-content\/uploads\/sites\/26\/2023\/02\/BR-VPS-hosting_in-text-banner-1-1024x300.png\" alt=\"\" class=\"wp-image-32923\" srcset=\"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2023\/02\/BR-VPS-hosting_in-text-banner-1.png 1024w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2023\/02\/BR-VPS-hosting_in-text-banner-1-300x88.png 300w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2023\/02\/BR-VPS-hosting_in-text-banner-1-150x44.png 150w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2023\/02\/BR-VPS-hosting_in-text-banner-1-768x225.png 768w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2023\/02\/BR-VPS-hosting_in-text-banner-1-1536x450.png 1536w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>O Docker Compose &eacute; uma ferramenta criada para definir e executar projetos com m&uacute;ltiplos containers. Ele &eacute; muito usado por desenvolvedores para simplificar a gest&atilde;o de servi&ccedil;os que dependem uns dos outros &mdash; como uma aplica&ccedil;&atilde;o front-end conectada a um banco de dados &mdash; permitindo administrar toda a stack de forma centralizada. Em termos simples, [&#8230;]<\/p>\n<p><a class=\"btn btn-secondary understrap-read-more-link\" href=\"\/pt\/tutoriais\/o-que-e-docker-compose\">Read More&#8230;<\/a><\/p>\n","protected":false},"author":356,"featured_media":49898,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"rank_math_title":"","rank_math_description":"Descubra o que \u00e9 Docker Compose, como ele funciona e quando us\u00e1-lo para gerenciar apps com m\u00faltiplos containers de forma simples.","rank_math_focus_keyword":"o que \u00e9 docker compose","footnotes":""},"categories":[4915],"tags":[],"class_list":["post-49897","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-vps"],"hreflangs":[{"locale":"pt-BR","link":"https:\/\/www.hostinger.com\/br\/tutoriais\/o-que-e-docker-compose","default":1},{"locale":"pt-PT","link":"https:\/\/www.hostinger.com\/pt\/tutoriais\/o-que-e-docker-compose","default":0}],"acf":[],"_links":{"self":[{"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/posts\/49897","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/users\/356"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/comments?post=49897"}],"version-history":[{"count":0,"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/posts\/49897\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/media\/49898"}],"wp:attachment":[{"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/media?parent=49897"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/categories?post=49897"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/tags?post=49897"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}