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.
Exemple de serveur de génération d'images Docker pour CodeBuild
L'exemple suivant télécharge vos builds Docker vers un serveur de génération d'images géré. Vous pouvez adapter cet exemple pour fournir un serveur de génération d'images Docker dédié et géré dans la configuration de votre CodeBuild projet. Notez que l'instance provisionnée est active lorsque les builds sont exécutés activement pour le projet, et qu'elle est arrêtée lorsque les builds ne sont pas en cours d'exécution. L'instance provisionnée est stockée jusqu'à un mois avant d'être recyclée. Pour plus d'informations, consultez la section CodeBuild Fonctionnalité du serveur Docker
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
Rubriques
Configuration d'un serveur Docker
Utilisez la procédure suivante pour configurer un environnement informatique dédié à un CodeBuild projet qui gère les charges de travail Docker et stocke les couches d'images Docker.
Pour configurer un serveur Docker
-
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
, mais seulement les fichiers à l'intérieur de(root directory name)
.(root directory name)
Si vous utilisez un compartiment d'entrée S3, veillez à créer un fichier ZIP contenant les fichiers, puis chargez ce fichier dans le compartiment d'entrée. N'ajoutez pas
au fichier ZIP, mais seulement les fichiers à l'intérieur de(root directory name)
.(root directory name)
-
Créez un projet de build, exécutez le build et consultez les informations de build associées :
-
Dans la section Environnement de la console, choisissez Configuration supplémentaire, accédez à Configuration du serveur Docker, puis sélectionnez Activer le serveur docker pour ce projet. Vous pouvez ensuite choisir le type de calcul du serveur Docker et fournir un identifiant de registre.
-
Si vous utilisez le AWS CLI pour créer le projet de construction, l'entrée au format JSON 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/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
" }Note
Les groupes de sécurité configurés pour les serveurs Docker doivent autoriser le trafic réseau entrant depuis le VPC configuré dans le projet. Ils devraient autoriser l'entrée sur le port 9876.
-
-
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: build: commands: - docker buildx build . - docker run helloworld echo "Hello, World!"
Dockerfile
(dans
)(root directory
name)
FROM public.ecr.aws/amazonlinux/amazonlinux:latest RUN echo "Hello World"