Crie e envie uma imagem Docker com o Cloud Build
Saiba como começar a usar o Cloud Build criando uma imagem do Docker e enviando-a para o Artifact Registry. O Artifact Registry oferece uma única localização para gerir pacotes privados e imagens de contentores Docker.
Primeiro, vai criar a imagem com um Dockerfile
, que é o ficheiro de configuração do Docker, e, em seguida, criar a mesma imagem com o ficheiro de configuração do Cloud Build.
Para seguir orientações passo a passo para esta tarefa diretamente no editor do Cloud Shell, clique em Guiar-me:
Antes de começar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Cloud Build, Compute Engine and Artifact Registry APIs.
-
Install the Google Cloud CLI.
-
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro, tem de iniciar sessão na CLI gcloud com a sua identidade federada.
-
Para inicializar a CLI gcloud, execute o seguinte comando:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Cloud Build, Compute Engine and Artifact Registry APIs.
-
Install the Google Cloud CLI.
-
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro, tem de iniciar sessão na CLI gcloud com a sua identidade federada.
-
Para inicializar a CLI gcloud, execute o seguinte comando:
gcloud init
-
Make sure that you have the following role or roles on the project: Artifact Registry Administrator, Cloud Build Editor, Logs Viewer, Service Account User, Service Usage Admin, Storage Bucket Viewer, Storage Object Creator
Check for the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
-
In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.
- For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.
Grant the roles
-
In the Google Cloud console, go to the IAM page.
Aceder ao IAM - Selecione o projeto.
- Clique em Conceder acesso.
-
No campo Novos responsáveis, introduza o identificador do utilizador. Normalmente, este é o endereço de email de uma Conta Google.
- Na lista Selecionar uma função, selecione uma função.
- Para conceder funções adicionais, clique em Adicionar outra função e adicione cada função adicional.
- Clique em Guardar.
Abra uma janela de terminal.
Crie um novo diretório denominado
quickstart-docker
e navegue para o mesmo:mkdir quickstart-docker cd quickstart-docker
Crie um ficheiro denominado
quickstart.sh
com o seguinte conteúdo:Crie um ficheiro denominado
Dockerfile
com o seguinte conteúdo:Na janela do terminal, execute o seguinte comando para tornar
quickstart.sh
executável:chmod +x quickstart.sh
Crie um novo repositório Docker denominado
quickstart-docker-repo
na localizaçãous-west2
com a descrição "Repositório Docker":gcloud artifacts repositories create quickstart-docker-repo --repository-format=docker \ --location=us-west2 --description="Docker repository"
Verifique se o repositório foi criado:
gcloud artifacts repositories list
É apresentado
quickstart-docker-repo
na lista de repositórios apresentados.Obtenha o Google Cloud ID do projeto executando o seguinte comando:
gcloud config get-value project
Execute o seguinte comando a partir do diretório que contém
quickstart.sh
eDockerfile
:gcloud builds submit --region=us-west2 --tag us-west2-docker.pkg.dev/PROJECT_ID/quickstart-docker-repo/quickstart-image:tag1
No mesmo diretório que contém
quickstart.sh
e oDockerfile
, crie um ficheiro denominadocloudbuild.yaml
com o seguinte conteúdo. Este ficheiro é o ficheiro de configuração de compilação. No momento da compilação, o Cloud Build substitui automaticamente$PROJECT_ID
pelo ID do seu projeto.Inicie a compilação executando o seguinte comando:
gcloud builds submit --region=us-west2 --config cloudbuild.yaml
Abra a página do Cloud Build na Google Cloud consola.
Se necessário, selecione o projeto e clique em Abrir.
É apresentada a página Histórico de compilação:
Se necessário, selecione
us-west2
no menu pendente Região para ver compilações nessa região.São apresentadas duas compilações, uma para cada uma das compilações que executou neste início rápido.
Clique numa das compilações.
É apresentada a página Detalhes da compilação.
Para ver os artefactos da sua compilação, em Resumo da compilação, clique em Artefactos de compilação.
Vai ver um resultado semelhante ao seguinte:
Pode transferir o registo de compilação e ver os detalhes da imagem no Artifact Registry a partir desta página.
Abra a página do Artifact Registry na Google Cloud consola.
Selecione o projeto e clique em Abrir.
Selecione quickstart-docker-repo.
Clique em Eliminar.
- Saiba como executar uma imagem do Docker.
- Saiba como criar um ficheiro de configuração de compilação básico.
- Saiba como implementar através do Cloud Build.
- Saiba como criar aplicações Node.js.
- Saiba como criar aplicações Java.
- Saiba como criar aplicações Go.
Prepare os ficheiros de origem para compilar
Precisa de algum código-fonte de exemplo para criar um pacote numa imagem de contentor. Nesta secção, vai criar um script de shell e um
Dockerfile
. UmDockerfile
é um documento de texto que contém instruções para o Docker criar uma imagem.Crie um repositório Docker no Artifact Registry
Crie uma imagem com o Dockerfile
O Cloud Build permite-lhe criar uma imagem do Docker através de um
Dockerfile
. Não precisa de um ficheiro de configuração do Cloud Build separado.Para criar com um
Dockerfile
:Após a compilação, é apresentado um resultado semelhante ao seguinte:
DONE ------------------------------------------------------------------------------------------------------------------------------------ ID CREATE_TIME DURATION SOURCE IMAGES STATUS 545cb89c-f7a4-4652-8f63-579ac974be2e 2020-11-05T18:16:04+00:00 16S gs://gcb-docs-project_cloudbuild/source/1604600163.528729-b70741b0f2d0449d8635aa22893258fe.tgz us-west2-docker.pkg.dev/gcb-docs-project/quickstart-docker-repo/quickstart-image:tag1 SUCCESS
Acabou de criar uma imagem do Docker com o nome
quickstart-image
usando umDockerfile
e enviou a imagem para o Artifact Registry.Crie uma imagem com um ficheiro de configuração de compilação
Nesta secção, vai usar um ficheiro de configuração do Cloud Build para criar a mesma imagem do Docker que acima. O ficheiro de configuração de compilação indica ao Cloud Build que deve realizar tarefas com base nas suas especificações.
Quando a compilação estiver concluída, vai ver um resultado semelhante ao seguinte:
DONE ------------------------------------------------------------------------------------------------------------------------------------ ID CREATE_TIME DURATION SOURCE IMAGES STATUS 046ddd31-3670-4771-9336-8919e7098b11 2020-11-05T18:24:02+00:00 15S gs://gcb-docs-project_cloudbuild/source/1604600641.576884-8153be22c94d438aa86c78abf11403eb.tgz us-west2-docker.pkg.dev/gcb-docs-project/quickstart-docker-repo/quickstart-image:tag1 SUCCESS
Acabou de criar
quickstart-image
com o ficheiro de configuração de compilação e enviou a imagem para o Artifact Registry.Veja os detalhes da compilação
Limpar
Para evitar incorrer em cobranças na sua Google Cloud conta pelos recursos usados nesta página, siga estes passos.
Eliminou o repositório que criou como parte deste início rápido.
O que se segue?
-