Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Beispiel für einen Docker-Image-Build-Server für CodeBuild
Im folgenden Beispiel werden Ihre Docker-Builds auf einen verwalteten Image-Build-Server ausgelagert. Sie können dieses Beispiel anpassen, um einen dedizierten und verwalteten Docker-Image-Build-Server in Ihrer CodeBuild Projektkonfiguration bereitzustellen. Beachten Sie, dass die bereitgestellte Instanz aktiv ist, während Builds für das Projekt aktiv ausgeführt werden, und dass die Instanz gestoppt wird, wenn keine Builds ausgeführt werden. Die bereitgestellte Instanz wird bis zu einem Monat gespeichert, bevor sie recycelt wird. Weitere Informationen finden Sie unter CodeBuild Docker Server Capability.
Wichtig
Wenn Sie dieses Beispiel ausführen, kann Ihr AWS Konto belastet werden. Dazu gehören mögliche Gebühren für CodeBuild und für AWS Ressourcen und Aktionen im Zusammenhang mit Amazon S3 und CloudWatch Logs. AWS KMS Weitere Informationen finden Sie unter CodeBuild Preise
Konfigurieren Sie einen Docker-Server
Gehen Sie wie folgt vor, um eine dedizierte Rechenumgebung für ein CodeBuild Projekt bereitzustellen, das Docker-Workloads verwaltet und Docker-Image-Ebenen speichert.
So konfigurieren Sie einen Docker-Server
-
Erstellen Sie die Dateien wie in den Dateien Abschnitten Verzeichnisstruktur und in diesem Thema beschrieben, und laden Sie sie dann in einen S3-Eingabe-Bucket oder ein AWS CodeCommit, GitHub, oder Bitbucket-Repository hoch.
Wichtig
Laden Sie nicht
hoch, sondern nur die Dateien in(root directory name).(root directory name)Wenn Sie einen S3-Empfangs-Bucket verwenden, sollten Sie eine ZIP-Datei erstellen, die die Dateien enthält, und diese dann in den Empfangs-Bucket hochladen. Fügen Sie
nicht zur ZIP-Datei hinzu, sondern nur die Dateien in(root directory name).(root directory name) -
Erstellen Sie ein Build-Projekt, führen Sie den Build aus und sehen Sie sich die zugehörigen Build-Informationen an:
-
Wählen Sie im Abschnitt Umgebung der Konsole Zusätzliche Konfiguration aus, navigieren Sie zur Docker-Serverkonfiguration und wählen Sie dann Docker-Server für dieses Projekt aktivieren aus. Anschließend können Sie den Berechnungstyp des Docker-Servers auswählen und einen Registrierungsnachweis angeben.
-
Wenn Sie das verwenden AWS CLI , um das Build-Projekt zu erstellen, sieht die JSON-formatted Eingabe für den
create-projectBefehl möglicherweise so aus. (Ersetzen Sie die Platzhalter durch Ihre eigenen Werte.){ "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" }Anmerkung
Für Docker-Server konfigurierte Sicherheitsgruppen sollten eingehenden Netzwerkverkehr von der im Projekt konfigurierten VPC zulassen. Sie sollten den Zugriff auf Port 9876 zulassen.
-
-
Zum Anzeigen der Build-Ergebnisse sehen Sie sich die Zeichenfolge
Hello, World!im Build-Protokoll an. Weitere Informationen finden Sie unter Anzeigen von Build-Details.
Verzeichnisstruktur
In diesem Beispiel wird von dieser Verzeichnisstruktur ausgegangen.
(root directory name)
├── buildspec.yml
└── Dockerfile
Dateien
Die Basis-Image des Betriebssystems in diesem Beispiel ist Ubuntu. Das Beispiel verwendet diese Dateien.
buildspec.yml (in )(root directory
name)
version: 0.2 phases: build: commands: - docker buildx build -t helloworld --load . - docker run helloworld echo "Hello, World!"
Dockerfile (in )(root directory
name)
FROM public.ecr.aws/amazonlinux/amazonlinux:latest RUN echo "Hello World"