Implementando cargas de trabalho de app por meio de imagens em um registro privado
Implemente seu app com o Code Engine que usa uma imagem em um registro privado como o Docker Hub privado. É possível criar um app por meio do console ou com a CLI.
Antes de Iniciar
- Para extrair imagens de um registro privado, deve-se primeiro criá-lo. Por exemplo, para criar um registro privado do Docker Hub, consulte a documentação do Docker Hub.
- Depois de criar um registro privado, envie uma imagem para ele.
- Também é possível configurar um token de acesso. Ao usar um token de acesso, é possível conceder e revogar o acesso à sua conta do Docker Hub mais facilmente, sem a necessidade de mudança de senha. Para obter mais informações sobre tokens de acesso e o Docker Hub, consulte Criar e gerenciar tokens de acesso.
Implementando um app que referencia uma imagem em um registro privado com o console
Implemente um aplicativo que use uma imagem em um registro privado com o console do Code Engine.
Antes de poder trabalhar com um aplicativo Code Engine que referencie uma imagem em um registro privado, deve-se primeiro incluir o acesso ao registro, extrair a imagem e, em seguida, implementá-lo.
- Abra o console Code Engine.
- Selecione Vamos.
- Selecione Aplicativo.
- Insira um nome do aplicativo, por exemplo,
helloapp. Use um nome para seu aplicativo que seja exclusivo dentro do projeto. - Selecione um projeto na lista de projetos disponíveis. Também é possível criar um novo. Deve-se ter um projeto selecionado para implementar um app.
- Selecione Imagem de contêiner e clique em Configurar imagem.
- Insira
docker.iopara Servidor de registro. - Em Segredo do registro, selecione Criar segredo do registro.
- Na página Criar segredo de registro, escolha a origem do registro. Por exemplo, Docker Hub.
- Insira um nome de usuário. Para o Docker Hub, ele é o seu ID do Docker.
- Insira a senha do . Para o Docker Hub, é possível usar a senha do Docker Hub ou um token de acesso. Para obter mais informações sobre tokens de acesso e o Docker Hub, consulte Criar e gerenciar tokens de acesso.
- Clique em Create para adicionar um segredo de registro para Code Engine.
- Na página Configurar imagem, o segredo do registro que foi adicionado é listado. Selecione o segredo do registro para a sua imagem.
- Selecione o namespace e o nome da imagem no Docker Hub para o app Code Engine para referência. Por exemplo, selecione
mynamespacee selecione a imagemhello_reponesse namespace. - Selecione um valor para Tag; por exemplo,
latest. - Clique em Pronto. Você selecionou a sua imagem no registro para referenciá-la no seu app.
- Modifique quaisquer configurações de tempo de execução ou variáveis de ambiente para seu app. Para obter mais informações sobre essas opções, consulte Opções para visibilidade de terminais de apps e Opções para implementar um app.
- Na página Criar aplicativo, clique em Criar.
- Após o status do aplicativo mudar para Pronto, será possível testar o aplicativo. Clique em Testar aplicativo e, em seguida, clique em Enviar solicitação na área de janela Testar aplicativo. Para abrir o aplicativo em uma página da web, clique em URL do aplicativo.
Agora que você implementou seu aplicativo, é possível visualizar informações sobre as revisões do aplicativo e quaisquer instâncias em execução, além de detalhes de configuração.
Para incluir o acesso de registro antes de criar um app, consulte Incluindo o acesso a um registro de contêiner privado.
Implementando um app com uma imagem de um registro privado com a CLI
Implemente um aplicativo que usa uma imagem em um registro de contêiner com a CLI com o comando ibmcloud ce app create.
Antes de Iniciar
- Configure o seu ambiente da CLI do Code Engine.
- Criar e trabalhar com um projeto.
Antes de poder trabalhar com um aplicativo Code Engine que referencie uma imagem em um registro privado, deve-se primeiro incluir o acesso ao registro, extrair a imagem e, em seguida, implementá-lo.
-
Para extrair imagens de um registro privado, deve-se primeiro criá-lo. Por exemplo, para criar um registro privado do Docker Hub, consulte a documentação do Docker Hub. Depois de criar um registro privado, envie uma imagem para ele. Também é possível configurar um token de acesso. Ao usar um token de acesso, é possível conceder e revogar o acesso à sua conta do Docker Hub mais facilmente, sem a necessidade de mudança de senha. Para obter mais informações sobre tokens de acesso e o Docker Hub, consulte Criar e gerenciar tokens de acesso.
-
Inclua acesso em seu registro privado para extrair imagens. Para incluir o acesso a um registro privado com a CLI, use o comando
ibmcloud ce secret create --format registrypara criar um segredo de registro Por exemplo, o comando a seguir cria acesso de registro a um registro do Hub Docker chamadoprivatedockerque está em'https://index.docker.io/v1/'e usa seu nome de usuário e senha.ibmcloud ce secret create --format registry --name privatedocker --server 'https://index.docker.io/v1/' --username <Docker_User_Name> --password <Password>Saída de exemplo
Creating registry secret 'privatedocker'... OK -
Crie seu app e referencie a imagem em seu registro privado do Docker Hub. Por exemplo, crie o app
myhelloapppara referenciar odocker.io/privaterepo/helloworldusando as informações de acesso doprivatedocker.ibmcloud ce app create --name myhelloapp --image docker.io/privaterepo/helloworld --registry-secret privatedockerO formato do nome da imagem para esse aplicativo é
REGISTRY/NAMESPACE/REPOSITORY:TAG, em queREGISTRYeTAGsão opcionais. SeREGISTRYnão for especificado, o padrão serádocker.io. SeTAGnão for especificado, o padrão serálatest. -
Depois que seu app for implementado, será possível acessá-lo. Para obter a URL de seu app, execute
ibmcloud ce app get --name myhelloapp --output url. Ao executar curl no appmyhelloapp,Hello Worldé retornado.curl https://myhelloapp.abcdabcdhye.us-south.codeengine.appdomain.cloud
Próximas etapas
-
Após a implementação do app, acesse-o por meio de uma URL.
-
É possível criar um mapeamento de domínio customizado e designá-lo ao seu app Para obter mais informações sobre a implementação de apps em diversas regiões com um nome de domínio customizado, consulte Configurando um aplicativo altamente disponível
-
Agora que seu aplicativo está implantado, considere a possibilidade de torná-lo orientado por eventos. Usando assinaturas de eventos, é possível acionar seus apps por planejamentos periódicos ou configurar seu app para reagir a eventos como uploads de arquivos ou mensagens doKafka.
Após a implementação do app, também é possível atualizar o app implementado e seu código referenciado usando qualquer uma das maneiras a seguir, independentemente de como você criou ou atualizou previamente seu app:
-
Se você tiver uma imagem de contêiner, de acordo com o padrão Open Container Initiative(OCI), precisará fornecer apenas uma referência à imagem, que aponta para o local do registro do contêiner ao implantar o aplicativo. Você pode implementar o seu app com uma imagem em um registro público ou registro privado.
Se você criou o seu app usando o comando
app createe especificou a opção--build-sourcepara construir a imagem do container a partir de origem local ou repositório, e deseja alterar seu app para apontar para uma imagem de contêiner diferente, deve-se primeiro remover a associação da construção a partir do seu app. Por exemplo, executeibmcloud ce application update -n APP_NAME --build-clear. Depois de remover a associação da construção a partir do seu app, você pode atualizar o app para referencia uma imagem diferente. -
Se você está começando com código-fonte que reside em um repositório Git, é possível optar por deixar que o Code Engine cuide da construção da imagem por meio de sua origem e implemente o app com uma operação única. Neste cenário, o Code Engine faz upload da sua imagem para o IBM Cloud® Container Registry. Para saber mais, consulte Implementando seu app por meio do código-fonte do repositório. Se você quiser mais controle sobre a construção da sua imagem, poderá optar por construir a imagem com o Code Engine antes de implementar seu app.
-
Se você está começando com código-fonte que reside em uma estação de trabalho local, é possível optar por deixar que o Code Engine cuide da construção da imagem por meio de sua origem e implemente o app com um comando da CLI único. Neste cenário, o Code Engine faz upload da sua imagem para o IBM Cloud® Container Registry. Para saber mais, consulte Implementando seu app por meio do código-fonte local com a CLI. Se você quiser mais controle sobre a construção da sua imagem, poderá optar por construir a imagem com o Code Engine antes de implementar seu app.
Por exemplo, você pode optar por deixar que o Code Engine cuide da construção de sua origem local enquanto você cuida do desenvolvimento de sua origem para o app. Em seguida, após o amadurecimento da imagem, é possível atualizar o app implementado para referenciar a imagem específica que desejar. É possível repetir esse processo conforme necessário.
Ao implementar seu app atualizado, a versão mais recente de sua imagem de contêiner referenciada é transferida por download e implementada, a menos que uma tag seja especificada para a imagem. Se uma tag for especificada para a imagem, a imagem marcada será usada para a implementação.
Procurando mais exemplos de código? Confira as Amostras para IBM Cloud Code Engine GitHub repo.