Login
Login

Fazer Deploy com Docker Compose

Atualizado em 28 de May de 2025

A Plataforma de Apps permite fazer o deploy de uma aplicação usando um arquivo docker-compose.yml localizado no repositório. Isso possibilita executar qualquer tipo de aplicação, inclusive aquelas construídas com frameworks frontend e backend não suportados diretamente pelo serviço.

Requisitos

  • O Dockerfile e o arquivo docker-compose.yml devem estar localizados na raiz do repositório conectado. Se o Dockerfile estiver em outro diretório, o caminho até ele deve ser especificado explicitamente no manifesto docker-compose.yml. Por exemplo: 

services:
  app:
    build:
      context: ./app                        # Path to the application source code
      dockerfile: ./docker/Dockerfile.prod  # Explicit path to the Dockerfile
  • Não utilize as portas 80 e 443 como portas do host no manifesto. Essas portas são reservadas para o Nginx.
  • O proxy será configurado para o primeiro serviço listado no docker-compose.yml. Os outros serviços, se tiverem portas de host definidas, estarão acessíveis apenas através dessas portas específicas. Por exemplo:

services:
  my-app:
    ports:
      - "9000:80"
  adminer:
    ports:
    - "8080:8080"

Neste caso my-app estará disponível no domínio principal, adminer estará disponível em http://<domínio>:8080.

  • No arquivo docker-compose.yml, não é permitido utilizar as seguintes diretivas:
    • cap_add
    • cgroup
    • cgroup_parent
    • devices
    • privileged
    • device_cgroup_rules
    • volumes
    • ipc
    • pid
    • security_opt
    • userns_mode
    • sysctls

Ao tentar fazer o deploy de um manifesto que contenha qualquer uma dessas diretivas, ocorrerá um erro.

  • Ao configurar a rede, o modo host não é permitido.

Etapa 1. Selecionar o Tipo de Aplicação

  1. Acesse a seção Plataforma de Apps e clique em Criar aplicativo.
  2. Selecione a aba Docker Compose.

651936a3 83d4 4546 B96c 53abf7445ea2

Etapa 2. Conectar um Repositório

Selecione o repositório que contém a aplicação. O arquivo docker-compose.yml deve estar localizado na raiz do repositório.

Você pode conectar um repositório:

  • Da sua conta no GitHub, GitLab ou Bitbucket. Clique no nome da plataforma, faça login e selecione o repositório desejado. Se já estiver logado, o Hostman mostrará automaticamente os repositórios disponíveis.

  • Por URL, fornecendo um link de um repositório criado em qualquer plataforma. Clique em Conectar repositório via URL e insira a URL Git do repositório. Se for privado, insira também as credenciais de acesso.

Leia mais sobre como conectar repositórios aqui.

Etapa 3. Selecionar Branch e Commit

Selecione um branch para o deploy.

Por padrão, ativamos a opção Compilação pelo último commit executado. Nesse caso, a Plataforma de Apps fará o deploy do último commit e, posteriormente, reconstruirá automaticamente a aplicação sempre que novos commits forem adicionados ao repositório. Se necessário, você pode desativar o deploy automático.

Se quiser selecionar manualmente um commit específico, desative essa opção.

Etapa 4. Selecionar Localização e Configuração do Servidor

Sua aplicação será executada em um servidor cloud dedicado. Escolha a região e a configuração do servidor.

Você poderá fazer upgrade do servidor depois, mas não será possível fazer downgrade.

Etapa 5. Configurar Rede Privada

Agora, você pode adicionar a aplicação a uma rede privada e especificar o endereço IP que ela usará.

Observe que não é possível alterar a rede privada após o deploy.

07ca8daf 4933 4cfb 9ba2 Edec8c485c4c

Etapa 6. Configurar Parâmetros de Build

A Plataforma de Apps lerá as instruções do arquivo docker-compose.yml e construirá a aplicação de acordo.

Neste momento, você pode definir variáveis, se necessário. Se já estiverem definidas no docker-compose.yml ou no Dockerfile, não é necessário duplicá-las. As variáveis de ambiente podem ser usadas tanto durante a fase de build quanto em tempo de execução da aplicação. Para usar variáveis como build arguments, passe-as para o docker-compose.yml da seguinte forma:

build:
  context: .
  args:
    - ARGUMENT_VAR=${example_var}

Depois disso, a variável pode ser referenciada no Dockerfile:

ARG ARGUMENT_VAR=${example_var}

Posteriormente, será possível alterar essas configurações, selecionar outro branch ou commit e reiniciar o deploy com os novos parâmetros.

Etapa 7. Inserir Informações da Aplicação

Aqui você pode definir um nome e um comentário para a aplicação, que serão exibidos no painel da Hostman. Você também pode selecionar um projeto ao qual adicionar a aplicação.

Essas configurações também podem ser modificadas mais tarde.

Etapa 8. Deploy

Clique em Pedido. Assim que o processo começar, você verá o log de deploy na aba Implantar.

O log de deploy contém todas as informações necessárias para resolver possíveis problemas. Se algo der errado — por exemplo, devido a erros no código — o log mostrará uma notificação com a causa específica.

No primeiro deploy de um projeto, a instalação do servidor pode levar algum tempo. Quando for concluída, o status da aplicação será atualizado e uma mensagem aparecerá no log.

Tudo pronto!

Você encontrará o endereço IP da aplicação e o domínio técnico vinculado na aba Dashboard. Para conectar seu próprio domínio, siga este guia.

A aplicação será executada nas portas 80 e 443.

No futuro, a Plataforma de Apps continuará monitorando atualizações no repositório e, se o deploy automático estiver ativado, reconstruirá o projeto automaticamente com as novas alterações.

Esta página foi útil?
Atualizado em 28 de May de 2025

Tem perguntas,
comentários ou preocupações?

Nossos profissionais estão disponíveis para ajudá-lo a qualquer momento,
seja para assistência ou apenas se você não souber por onde começar.
Envie-nos um e-mail
Hostman's Support