Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Esempio di server di creazione di immagini Docker per CodeBuild
L'esempio seguente scarica le build Docker su un server di creazione di immagini gestito. Puoi adattare questo esempio per fornire un server di creazione di immagini Docker dedicato e gestito nella configurazione del tuo progetto. CodeBuild Tieni presente che l'istanza fornita è attiva mentre le build vengono eseguite attivamente per il progetto e viene interrotta quando le build non sono in esecuzione. L'istanza fornita viene archiviata per un massimo di un mese prima di essere riciclata. Per ulteriori informazioni, consulta CodeBuild Docker
Importante
L'esecuzione di questo esempio potrebbe comportare addebiti sul tuo AWS account. Questi includono eventuali addebiti per CodeBuild e per AWS risorse e azioni relative ad Amazon S3 e AWS KMS CloudWatch Logs. Per ulteriori informazioni, consulta CodeBuild i prezzi, i prezzi
Argomenti
Configura un server Docker
Utilizza la seguente procedura per fornire un ambiente di calcolo dedicato per un CodeBuild progetto che gestisce i carichi di lavoro Docker e archivia i livelli di immagine Docker.
Per configurare un server Docker
-
Crea i file come descritto nelle File sezioni Struttura delle directory e di questo argomento, quindi caricali in un bucket di input S3 o in un repository AWS CodeCommit GitHub, o Bitbucket.
Importante
Non caricare
, ma solo i file all'interno di(root directory name)
(root directory name)
Se si sta utilizzando un bucket di input S3, assicurarsi di creare un file ZIP contenente i file, quindi caricarlo nel bucket di input. Non aggiungere
al file ZIP, ma solo i file all'interno di(root directory name)
(root directory name)
-
Crea un progetto di compilazione, esegui la build e visualizza le relative informazioni sulla build:
-
Nella sezione Ambiente della console, scegli Configurazione aggiuntiva, vai alla configurazione del server Docker, quindi seleziona Abilita il server docker per questo progetto. Puoi quindi scegliere il tipo di elaborazione del server Docker e fornire una credenziale di registro.
-
Se si utilizza il AWS CLI per creare il progetto di compilazione, l'input in formato JSON del comando potrebbe essere simile a questo.
create-project
(Sostituire i segnaposto con i propri valori).{ "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
I gruppi di sicurezza configurati per i server Docker dovrebbero consentire il traffico di rete in ingresso dal VPC configurato nel progetto. Dovrebbero consentire l'ingresso sulla porta 9876.
-
-
Per vedere i risultati della compilazione, cercare la stringa
Hello, World!
nel log di compilazione. Per ulteriori informazioni, consulta Visualizzazione dei dettagli delle compilazioni.
Struttura delle directory
Questo esempio assume la seguente struttura delle directory.
(root directory name)
├── buildspec.yml
└── Dockerfile
File
L'immagine di base del sistema operativo utilizzata in questo esempio è di Ubuntu. L'esempio utilizza i seguenti file.
buildspec.yml
(in
)(root directory
name)
version: 0.2 phases: build: commands: - docker buildx build . - docker run helloworld echo "Hello, World!"
Dockerfile
(in
)(root directory
name)
FROM public.ecr.aws/amazonlinux/amazonlinux:latest RUN echo "Hello World"