Criando uma tarefa por meio de imagens em um registro privado
Crie a sua tarefa que usa uma imagem em um registro privado como o Docker Hub privado. É possível criar uma tarefa 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 Hub do Docker, consulte a documentação do Hub do Docker.
- 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.
Criando uma tarefa que referencia uma imagem em um registro privado com o console
Crie uma configuração de tarefa que use uma imagem em um registro privado com o console do Code Engine.
Antes de poder trabalhar com uma tarefa do Code Engine que referencia uma imagem em um registro privado, primeiro deve-se incluir o acesso ao registro para que o Code Engine possa extrair a imagem quando a tarefa for executada.
- Abra o console Code Engine.
- Selecione “Começar a criar ”.
- Selecione um projeto na lista de projetos disponíveis. Também é possível criar um novo. Observe que deve-se ter um projeto selecionado para criar uma tarefa.
- Selecione Tarefa.
- Insira um nome para a tarefa, por exemplo,
myjob. - Selecione “Usar uma imagem de contêiner existente ” e clique em “Configurar imagem ”.
- Insira
docker.iopara Servidor de registro. - Para o segredo do Registro, selecione “Criar segredo do Registro ”.
- Na página “Criar segredo do Registro”, escolha sua fonte do Registro. Por exemplo, Docker Hub.
- Na página “Criar segredo do Registro”, digite um nome de usuário. Para o Docker Hub, ele é o seu ID do Docker.
- Na página “Criar segredo do registro”, insira o token de acesso. 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 “Criar” para adicionar o segredo do Registro para Code Engine.
- Na página “Configurar imagem”, o segredo do Registro que foi adicionado aparece listado. Selecione a chave do Registro correspondente à sua imagem.
- Selecione o namespace e o nome da imagem no Docker Hub para que a tarefa do Code Engine faça referência. Por exemplo, selecione
mynamespacee selecione a imagemtestjobnesse namespace. - Selecione um valor para Tag; por exemplo,
latest. - Clique em Pronto. Você selecionou a sua imagem no registro para referenciá-la na sua tarefa.
- Modifique os valores padrão de variáveis de ambiente ou configurações de tempo de execução. Para obter mais informações sobre essas opções, consulte Opções para criar e executar uma tarefa.
- Na página Criar tarefa, clique em Criar.
- Após a sua tarefa ser criada, a página de tarefa para a sua tarefa específica é aberta. Na sua página de tarefa, clique em Enviar tarefa para enviar uma tarefa com base na configuração atual.
Para incluir acesso ao registro antes de criar uma configuração de tarefa, consulte Acessando registros de contêiner.
Criando uma tarefa com uma imagem por meio de um registro privado com a CLI
Para criar uma configuração de tarefa com uma imagem por meio de um registro privado com a CLI, use o comando job create. Esse comando requer um nome e uma imagem e também permite outros argumentos opcionais. Para
obter uma listagem completa de opções, consulte o comando ibmcloud ce job create.
Antes de Iniciar
- Configure o seu ambiente da CLI do Code Engine.
- Criar e trabalhar com um projeto.
- Antes de poder trabalhar com uma tarefa do Code Engine que referencie uma imagem em um registro privado, deve-se primeiro incluir o acesso ao registro, extrair a imagem e, em seguida, criar sua configuração de tarefa.
-
Para extrair imagens de um registro privado, deve-se primeiro criá-lo. Por exemplo, para criar um registro privado do Hub do Docker, consulte a documentação do Hub do Docker. 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 ao Registro para um hub do Docker chamadoprivatedocker, que está emhttps://index.docker.io/v1/, e utiliza 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 sua configuração de tarefa e referencie a imagem em seu registro privado do Docker Hub. Por exemplo, crie a configuração de tarefa
mytestjobpara referenciar odocker.io/privaterepo/testjobusando as informações de acesso doprivatedocker.ibmcloud ce job create --name mytestjob --image docker.io/privaterepo/testjob --registry-secret privatedocker
O formato do nome da imagem para essa tarefa é REGISTRY/NAMESPACE/REPOSITORY:TAG no qual REGISTRY e TAG são opcionais. Se REGISTRY não for especificado, o padrão será docker.io.
Se TAG não for especificado, o padrão será latest.
Próximas etapas
-
Depois de criar sua tarefa, envie-a para executá-la. Consulte Executar uma tarefa. É possível executar sua tarefa várias vezes.
-
Depois de executar sua tarefa, para visualizar detalhes da sua tarefa e das execuções de tarefa, consulte Acessar detalhes da tarefa.
-
Agora que sua tarefa foi criada, considere tornar suas tarefas orientadas para evento. Ao usar assinaturas de evento, é possível acionar suas tarefas por meio de planejamentos periódicos ou configurar sua tarefa para reagir a eventos como uploads de arquivo.
-
É possível atualizar sua tarefa e seu código referenciado de qualquer uma das maneiras a seguir, independentemente de como você criou ou atualizou previamente a sua tarefa.
-
Se você tiver uma imagem de contêiner, de acordo com o padrão da Open Container Initiative(OCI), basta fornecer apenas uma referência à imagem, que aponte para o local do seu registro de contêineres ao criar (ou atualizar) sua tarefa. Você pode criar (ou atualizar) seu trabalho a partir de imagens em um registro público ou privado e, em seguida, acessar a imagem referenciada durante a execução do seu trabalho.
Se você criou o seu job usando o comando
job createe especificou a opção--build-sourcepara construir a imagem do container a partir de origem local ou repositório, e deseja alterar o seu job para apontar para uma imagem de container diferente, deve-se primeiro remover a associação da construção a partir do seu job. Por exemplo, executeibmcloud ce job update -n JOB_NAME --build-clear. Depois de remover a associação da construção a partir do seu trabalho, você pode atualizar o trabalho 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 (ou atualize) 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 Criando uma tarefa 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 criar (ou atualizar) sua tarefa e executá-la.
-
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 da criação da tarefa 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 Criando sua tarefa 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 criar (ou atualizar) sua tarefa e executá-la.
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 a tarefa. Em seguida, após o amadurecimento da imagem, é possível atualizar a tarefa para referenciar a imagem específica que desejar. É possível repetir esse processo conforme necessário.
Ao executar sua tarefa atualizada, a versão mais recente de sua imagem de contêiner referenciada é usada para a execução da tarefa, 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 execução da tarefa.
-
Procurando mais exemplos de código? Confira os exemplos no repositório “ IBM Cloud Code Engine ” GitHub.