Como implantar seu próprio contêiner na plataforma de aplicativos da DigitalOcean

App Platform é um novo serviço DigitalOcean que oferece implantação de aplicativo totalmente gerenciado a partir do controle de origem ou de uma imagem de contêiner. Veja como você pode colocar um contêiner na nuvem usando uma imagem em seu DigitalOcean Container Registry.
Configure seu Container Registry
Primeiro, você precisará criar seu registro de contêiner. Faça login no painel de controle do DigitalOcean e clique no botão “ Container Registry ” link da barra lateral esquerda.
Dê um nome ao seu novo registro. Os nomes devem ter entre 3 e 63 caracteres, usando apenas letras, números e travessões.

Três planos de assinatura do Container Registry estão disponíveis: Gratuito, Básico e Profissional. O nível gratuito oferece um único repositório e 500 MB de armazenamento.
Selecione uma camada e clique no botão “ Criar registro ” botão para provisionar seu registro. Isso pode levar alguns segundos.
“ Login do Docker ” em seu registro
Você será direcionado para a página de gerenciamento do seu registro assim que o provisionamento for concluído. Clique no botão cinza “ Ações ” botão no canto superior direito. Selecione “ Baixar credenciais do Docker ” no menu.

Altere as “ Permissões de credencial ” botões de opção para “ Ler & Escreva ”. Isso permitirá que você insira novas imagens em seu registro. Clique no botão azul “ Baixar configuração ” botão para adquirir um novo arquivo de configuração para uso com Docker.

Agora você está pronto para interagir com o seu registro usando a CLI do Docker em seu sistema. Renomeie o arquivo de configuração baixado para config. json e mova-o para um novo diretório. Ao usar o Docker, passe a sinalização --config com o caminho para este diretório. O cliente Docker carregará o config. json, então o Docker será capaz de autenticar em seu registro.
mkdir ~ / do-config & & mv docker-config. json ~ / do-config / config. json docker --config ~ / do-config pull my-image: mais recente
Existem outras maneiras de conectar o Docker ao seu registro, incluindo por meio da ferramenta de linha de comando Doctl da DigitalOcean. Estamos usando a abordagem mais simples aqui para manter o foco na App Platform, em vez das nuances do Docker e do Container Registry.
Crie e construa sua imagem
Com a configuração do Container Registry, é hora de enviar sua imagem Docker! Depois que sua imagem estiver no registro, o App Platform poderá recuperá-la e implantá-la.
Para o propósito deste tutorial, nós &’ vamos reutilizar a imagem padrão do Apache 2 – httpd: mais recente no Docker Hub. Puxe a imagem para sua máquina e, em seguida, envie-a de volta para o DigitalOcean Container Registry.
# pull from Docker Hub pull httpd: latest # marque a imagem com um caminho em sua tag docker do Container Registry httpd: latest registry. digitalocean. com/my-registry/httpd:latest # push to your Container Docker de registro --config ~ / do-config push registry. digitalocean. com/my-registry/httpd:latest
Lembre-se de especificar o arquivo de configuração de autenticação correto ao enviar para seu registro DigitalOcean. Você também precisará modificar os caminhos mostrados para corresponder ao nome do seu próprio Container Registry. Este é o valor que você escolheu na tela de criação. Ele é exibido na página do registro no Painel de controle.

Você deve ver sua imagem exibida na interface da Web do Container Registry assim que o push for concluído. Agora você está pronto para implantá-lo usando a plataforma de aplicativos.
Implantando com plataforma de aplicativo
Mude para a plataforma de aplicativos clicando no link “ Aplicativos ” na parte superior do link “ Gerenciar ” seção da barra lateral esquerda. Clique no botão azul “ Iniciar seu aplicativo ” botão para continuar.

Escolha “ DigitalOcean Container Registry ” como a fonte do repositório.

Na próxima tela, selecione sua imagem no “ Repositório ” suspenso. Você pode alterar a tag a ser implantada usando a tag “ Tag ” suspenso. Clique no botão “ Próximo ” botão para continuar. Agora você pode configurar seu contêiner e como ele é exposto.

“ Rotas HTTP ” permitem que você altere a base do URL (por exemplo, para my-domain. com/my-example-base). Configure pares de variáveis de ambiente de valor-chave usando as “ Variáveis de ambiente ” seção. O botão “ Executar comando ” opção permite que você substitua o comando que será executado no contêiner. Para nosso contêiner Apache simples, tudo isso deve ser deixado como padrão.

A “ Porta HTTP ” seção define a porta em que seu contêiner atende. O Apache usa a porta 80 por padrão, então este valor deve ser atualizado. Clique no botão “ Editar ” conecte e altere a porta para 80.
Clique no botão “ Próximo ” botão para continuar. Dê um nome ao seu aplicativo e selecione a região do datacentre DigitalOcean para servi-lo. No momento em que este artigo foi escrito, apenas um subconjunto dos datacenters DigitalOcean oferece suporte à App Platform. Tente escolher aquele mais próximo de você e de seus usuários.

Finalmente, selecione o plano de plataforma de aplicativo para assinar. As imagens de contêiner não são compatíveis com o plano Starter gratuito. Selecione o botão “ Básico ” ou “ Pro ” camada e, em seguida, escolha o tamanho do hardware a ser implantado. Para nossa imagem Apache simples, o nível básico com uma única instância de contêiner de $ 5 / mês 512 MB é adequado.

Clique em “ Iniciar aplicativo básico ” para começar sua implantação. Você será levado ao painel de seu aplicativo, onde poderá monitorar o processo de provisionamento. Isso pode levar alguns minutos para ser concluído. Assim que a implantação for concluída, você verá o URL ativo do seu aplicativo. Clique no link para visualizar seu contêiner implantado!

Atualizando sua implantação
Sua implantação será atualizada automaticamente quando a tag da imagem de origem mudar. Envie uma nova versão de imagem para o Container Registry para acionar uma reconstrução do seu aplicativo. Poucos minutos depois, a nova implantação aparecerá.
A DigitalOcean avisa que o cache de imagens pode significar que novas implantações nem sempre ocorrem se você não alterou o nome real da tag. Ele aconselha o uso de nomes de tag exclusivos para cada atualização de imagem para ajudar a mitigar esse risco.
Gerenciando seu aplicativo
Você pode gerenciar seu aplicativo na página Plataforma de aplicativos. Você pode ver métricas sobre o uso de recursos (“ Insights ”), um registro de implantações recentes (“ Implantações ”) e logs em tempo real de dentro do contêiner (“ Logs ”) . O “ Console ” guia oferece uma sessão de shell dentro do seu contêiner.

Você pode fazer alterações em sua configuração de implantação em “ Configurações ” aba. Aqui você encontrará opções para adicionar um nome de domínio e reconfigurar variáveis de ambiente.
Mais configurações podem ser encontradas em “ Componentes ” aba. Isso permite que você modifique a configuração do contêiner, incluindo a fonte de registro do contêiner (imagem e tag) e rotas e porta HTTP.
As variáveis de ambiente definidas nesta tela são específicas do componente do contêiner; aqueles definidos em “ Configurações ” tela se aplica a todos os componentes em seu aplicativo. Um único aplicativo App Platform pode ter vários componentes, como um contêiner e uma conexão de banco de dados.

Para excluir seu aplicativo, use o botão vermelho “ Destroy ” botão na parte inferior da tela Configurações. Componentes individuais podem ser removidos da seção “ Componentes ” aba. Para excluir a imagem do contêiner, volte à interface do Container Registry, clique nos três pontos à direita do nome da imagem e clique em “ Excluir ”.
Resumo
A plataforma de aplicativos e o Container Registry da DigitalOcean fornecem uma maneira direta de implementar cargas de trabalho em contêineres na nuvem. Você não precisa instalar o Docker ou configurar proxies reversos para rotear manualmente o tráfego.Essas qualidades significam que a App Platform é ideal quando você está implantando uma carga de trabalho simples. Sites estáticos em contêineres são particularmente adequados para esse estilo de implantação. O App Platform também oferece suporte a contêineres com estado com armazenamento persistente e conexões de banco de dados gerenciado, então você também pode usá-lo para executar seus contêineres de back-end.
Nenhum comentário