As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Exemplo de servidor de criação de imagens Docker para CodeBuild
O exemplo a seguir transfere suas compilações do Docker para um servidor gerenciado de criação de imagens. Você pode adaptar esse exemplo para provisionar um servidor de criação de imagens Docker dedicado e gerenciado na configuração do seu CodeBuild projeto. Observe que a instância provisionada está ativa enquanto as compilações são executadas ativamente para o projeto, e a instância é interrompida quando as compilações não estão em execução. A instância provisionada é armazenada por até um mês antes de ser reciclada. Para obter mais informações, consulte CodeBuild Docker Server Capability
Importante
A execução dessa amostra pode resultar em cobranças em sua AWS conta. Isso inclui possíveis cobranças por CodeBuild e por AWS recursos e ações relacionados ao Amazon S3 e CloudWatch aos AWS KMS registros. Para obter mais informações, consulte CodeBuild preços, preços
Configurar um servidor Docker
Use o procedimento a seguir para provisionar um ambiente de computação dedicado para um CodeBuild projeto que gerencia cargas de trabalho do Docker e armazena camadas de imagem do Docker.
Para configurar um servidor Docker
-
Crie os arquivos conforme descrito nas Arquivos seções Estrutura de diretório e deste tópico e, em seguida, carregue-os em um bucket de entrada do S3 ou em um AWS CodeCommit repositório do Bitbucket. GitHub
Importante
Não faça upload de
, apenas dos arquivos dentro de(root directory name)
.(root directory name)
Se você estiver usando um bucket de entrada do S3, crie um arquivo ZIP que contenha os arquivos e envie-o para o bucket de entrada. Não adicione
ao arquivo ZIP, apenas aos arquivos dentro de(root directory name)
.(root directory name)
-
Crie um projeto de compilação, execute a compilação e visualize as informações relacionadas à compilação:
-
Na seção Ambiente do console, escolha Configuração adicional, navegue até Configuração do servidor Docker e selecione Habilitar servidor docker para este projeto. Em seguida, você pode escolher o tipo de computação do servidor Docker e fornecer uma credencial do Registro.
-
Se você usar o AWS CLI para criar o projeto de construção, a entrada formatada em JSON para o
create-project
comando poderá ser semelhante a essa. (Substitua os espaços reservados com seus próprios valores.){ "name": "sample-docker-custom-image-project", "source": { "type": "S3", "location": "codebuild-
region-ID
-account-ID
-input-bucket/DockerServerSample
.zip" }, "artifacts": { "type": "NO_ARTIFACTS" }, "environment": { "type": "LINUX_CONTAINER", "image": "aws/codebuild/amazonlinux-x86_64-standard:5.0", "computeType": "BUILD_GENERAL1_LARGE", "dockerServer": [ { "computeType": "BUILD_GENERAL1_LARGE", "securityGroupIds": [ "security-groups-ID
" ] } ] }, "serviceRole": "arn:aws:iam::account-ID
:role/role-name
" }nota
Os grupos de segurança configurados para servidores Docker devem permitir a entrada de tráfego de rede da VPC configurada no projeto. Eles devem permitir a entrada na porta 9876.
-
-
Para ver os resultados da compilação, procure no log da compilação a string
Hello, World!
. Para obter mais informações, consulte Visualizar detalhes de compilação.
Estrutura de diretório
Essa amostra pressupõe esta estrutura de diretório.
(root directory name)
├── buildspec.yml
└── Dockerfile
Arquivos
A imagem de base do sistema operacional Ubuntu é usada nessa amostra. A amostra usa estes arquivos.
buildspec.yml
(em
)(root directory
name)
version: 0.2 phases: build: commands: - docker buildx build . - docker run helloworld echo "Hello, World!"
Dockerfile
(em
)(root directory
name)
FROM public.ecr.aws/amazonlinux/amazonlinux:latest RUN echo "Hello World"