Docker dans un exemple d'image personnalisé pour CodeBuild - AWS CodeBuild

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Docker dans un exemple d'image personnalisé pour CodeBuild

L'exemple suivant crée et exécute une image Docker à l'aide AWS CodeBuild d'une image de construction Docker personnalisée (docker:dinddans Docker Hub).

Pour savoir comment créer une image Docker en utilisant plutôt une image de construction fournie CodeBuild par le support Docker, consultez notre. Exemple « Publier une image Docker sur Amazon ECR »

Important

L'exécution de cet échantillon peut entraîner des frais sur votre AWS compte. Cela inclut les éventuels frais pour CodeBuild et pour les AWS ressources et les actions liées à Amazon S3 et à CloudWatch Logs. AWS KMS Pour plus d'informations, consultez CodeBuild les sections Tarification, Tarification Amazon S3, AWS Key Management Service Tarification et CloudWatchTarification Amazon.

Exécutez le Docker dans un exemple d'image personnalisé

Utilisez la procédure suivante pour exécuter le Docker dans un exemple d'image personnalisé. Pour plus d'informations sur cet exemple, consultezDocker dans un exemple d'image personnalisé pour CodeBuild.

Pour exécuter le Docker dans un exemple d'image personnalisé
  1. Créez les fichiers comme décrit dans les Dépôt de sections Structure de répertoire et de cette rubrique, puis chargez-les dans un compartiment d'entrée S3 ou un AWS CodeCommit référentiel Bitbucket. GitHub

    Important

    Ne chargez pas (root directory name), mais seulement les fichiers à l'intérieur de (root directory name).

    Si vous utilisez un compartiment d'entrée S3, veillez à créer un ZIP fichier contenant les fichiers, puis à le télécharger dans le compartiment d'entrée. N'ajoutez rien (root directory name) au ZIP fichier, mais uniquement les fichiers qu'il contient(root directory name).

  2. Créez un projet de build, exécutez le build et consultez les informations de build associées.

    Si vous utilisez le AWS CLI pour créer le projet de construction, l'entrée JSON formatée de la create-project commande peut ressembler à ceci. (Remplacez les espaces réservés par vos propres valeurs.)

    { "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" }
    Note

    Par défaut, le démon Docker est activé pour les versions non compilées. VPC Si vous souhaitez utiliser des conteneurs Docker pour les VPC builds, consultez Runtime Privilege et Linux Capabilities sur le site Web de Docker Docs et activez le mode privilégié. De plus, Windows ne prend pas en charge le mode privilégié.

  3. Pour voir les résultats de la génération, recherchez la chaîne Hello, World! dans le journal de la génération. Pour de plus amples informations, veuillez consulter Affichage des détails d'une génération.

Structure de répertoire

Cet exemple suppose que cette structure de répertoire est utilisée.

(root directory name) ├── buildspec.yml └── Dockerfile

Dépôt de

L'image de base du système d'exploitation utilisé dans cet exemple est Ubuntu. L'exemple utilise ces fichiers.

buildspec.yml (dans (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 (dans (root directory name))

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