Docker em amostra de imagem personalizada para CodeBuild - AWS CodeBuild

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á.

Docker em amostra de imagem personalizada para CodeBuild

O exemplo a seguir cria e executa uma imagem do Docker usando AWS CodeBuild uma imagem de compilação personalizada do Docker (docker:dindno Docker Hub).

Para saber como criar uma imagem do Docker usando uma imagem de construção fornecida CodeBuild com o suporte do Docker, consulte nosso. Exemplo de “Publicar imagem do Docker na AmazonECR”

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 do Amazon S3, preços e AWS Key Management Service preços da Amazon CloudWatch.

Execute o Docker em uma amostra de imagem personalizada

Use o procedimento a seguir para executar o Docker em uma amostra de imagem personalizada. Para obter mais informações sobre esse exemplo, consulteDocker em amostra de imagem personalizada para CodeBuild.

Para executar o Docker em uma amostra de imagem personalizada
  1. 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 (root directory name), apenas dos arquivos dentro de (root directory name).

    Se você estiver usando um bucket de entrada do S3, certifique-se de criar um ZIP arquivo que contenha os arquivos e, em seguida, carregue-o no bucket de entrada. Não adicione (root directory name) ao ZIP arquivo, apenas os arquivos dentro dele(root directory name).

  2. Crie um projeto de compilação, execute a compilação e visualize as informações relacionadas à compilação.

    Se você usar o AWS CLI para criar o projeto de construção, a entrada JSON formatada 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/DockerCustomImageSample.zip" }, "artifacts": { "type": "NO_ARTIFACTS" }, "environment": { "type": "LINUX_CONTAINER", "image": "docker:dind", "computeType": "BUILD_GENERAL1_SMALL", "privilegedMode": false }, "serviceRole": "arn:aws:iam::account-ID:role/role-name", "encryptionKey": "arn:aws:kms:region-ID:account-ID:key/key-ID" }
    nota

    Por padrão, o daemon do Docker está habilitado para não-compilações. VPC Se você quiser usar contêineres do Docker para VPC compilações, consulte Runtime Privilege e Linux Capabilities no site do Docker Docs e ative o modo privilegiado. Além disso, o Windows não é compatível com o modo privilegiado.

  3. 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: pre_build: commands: - docker build -t helloworld . build: commands: - docker images - docker run helloworld echo "Hello, World!"

Dockerfile (em (root directory name))

FROM maven:3.3.9-jdk-8 RUN echo "Hello World"