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:dind
no 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
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
-
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, certifique-se de criar um ZIP arquivo que contenha os arquivos e, em seguida, carregue-o no bucket de entrada. Não adicione
ao ZIP arquivo, apenas os arquivos dentro dele(root directory name)
.(root directory name)
-
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. -
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"