AWS Cloud9 non è più disponibile per i nuovi clienti. I clienti esistenti di AWS Cloud9 possono continuare a utilizzare il servizio normalmente. Ulteriori informazioni
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à.
Lavorare con il ECR servizio Amazon in AWS Cloud9
Puoi accedere al servizio Amazon Elastic Container Registry (AmazonECR) direttamente da AWS Explorer in AWS Cloud9 IDE. Puoi usare Amazon ECR per inviare l'immagine di un programma a un ECR repository Amazon. Per iniziare, attieniti alla seguente procedura:
-
Crea un Dockerfile che contenga le informazioni necessarie per creare un'immagine.
-
Crea un'immagine dal Dockerfile e assegna un tag all'immagine per l'elaborazione.
-
Crea un repository all'interno della tua ECR istanza Amazon.
-
Invia l'immagine al repository.
Sections
Prerequisiti
Prima di poter utilizzare la ECR funzionalità Amazon del AWS Toolkit per AWS Cloud9, assicurati di soddisfare prima questi prerequisiti. Questi prerequisiti sono preinstallati negli EC2 ambienti AWS Cloud9 IDE AWS Cloud9 Amazon e sono necessari per accedere ad Amazon. ECR
1. Creazione di un Dockerfile
Docker utilizza un file denominato Dockerfile per definire un'immagine che può essere inviata e archiviata su un repository remoto. Prima di poter caricare un'immagine in un ECR repository, crea un Dockerfile e poi crea un'immagine da quel Dockerfile.
Creazione di un Dockerfile
-
Per accedere alla directory in cui desideri archiviare il tuo Dockerfile, scegli l'opzione Toggle Tree nella barra di navigazione a sinistra all'interno del tuo. AWS Cloud9 IDE
-
Crea un nuovo file denominato Dockerfile.
Nota
AWS Cloud9 IDEpotrebbe chiederti di selezionare un tipo o un'estensione di file. In tal caso, seleziona testo in chiaro. AWS Cloud9 IDEha un'estensione «dockerfile». Tuttavia, lo sconsigliamo. Questo perché l'estensione potrebbe causare conflitti con determinate versioni di Docker o altre applicazioni associate.
Modifica il tuo Dockerfile usando AWS Cloud9 IDE
Se il Dockerfile ha un'estensione di file, aprire il menu contestuale (clic con il pulsante destro del mouse) del file e rimuovere l'estensione. Un Dockerfine con estensioni potrebbe causare conflitti con determinate versioni di Docker o altre applicazioni associate.
Dopo aver rimosso l'estensione del file dal Dockerfile:
-
Apri il Dockerfile vuoto direttamente in. AWS Cloud9 IDE
-
Copiare il contenuto del seguente esempio nel Dockerfile.
Esempio Modello di immagine Dockerfile
FROM ubuntu:22.04 # Install dependencies RUN apt-get update && \ apt-get -y install apache2 # Install apache and write hello world message RUN echo 'Hello World!' > /var/www/html/index.html # Configure apache RUN echo '. /etc/apache2/envvars' > /root/run_apache.sh && \ echo 'mkdir -p /var/run/apache2' >> /root/run_apache.sh && \ echo 'mkdir -p /var/lock/apache2' >> /root/run_apache.sh && \ echo '/usr/sbin/apache2 -D FOREGROUND' >> /root/run_apache.sh && \ chmod 755 /root/run_apache.sh EXPOSE 80 CMD /root/run_apache.sh
Questo è un Dockerfile che utilizza un'immagine di Ubuntu 22.04. Le RUNistruzioni aggiornano le cache dei pacchetti. Installare i pacchetti software per il server Web, quindi scrivere il contenuto "Hello World!" nella root del documento del server web. L'EXPOSEistruzione espone la porta 80 sul contenitore e avvia il CMDserver Web.
-
Salvare il Dockerfile.
2. Creazione dell'immagine dal Dockerfile
Il Dockerfile creato contiene le informazioni necessarie per creare un'immagine per un programma. Prima di poter inviare quell'immagine alla tua ECR istanza Amazon, crea l'immagine.
Creazione di un'immagine dal Dockerfile
-
Per navigare nella directory che contiene il tuo Dockerfile, usa il Docker CLI o un file integrato con CLI la tua istanza di Docker.
-
Per creare l'immagine definita nel Dockerfile, eseguire il comando Docker build dalla stessa directory del Dockerfile.
docker build -t hello-world .
-
Per verificare che l'immagine sia stata creata correttamente, eseguire il comando Docker images.
docker images --filter reference=hello-world
L'output è il seguente.
REPOSITORY TAG IMAGE ID CREATED SIZE hello-world latest e9ffedc8c286 4 minutes ago 241MB
-
Per eseguire l'immagine appena creata basata su Ubuntu 22.04, usa il comando echo.
Nota
Questa fase non è necessaria per creare o inviare l'immagine. Tuttavia, è possibile vedere come funziona l'immagine del programma durante l'esecuzione.
FROM ubuntu:22.04 CMD ["echo", "Hello from Docker in Cloud9"]
Quindi, eseguire e creare il dockerfile. È necessario eseguire questo comando dalla stessa directory del dockerfile.
docker build -t hello-world . docker run --rm hello-world
L'output è il seguente.
Hello from Docker in Cloud9
Per ulteriori informazioni sul comando Docker run, consultare Docker run reference
sul sito web di Docker.
3. Creazione di un nuovo repository
Per caricare la tua immagine nella tua ECR istanza Amazon, crea un nuovo repository in cui archiviarla.
Creazione di un nuovo ECR repository Amazon
-
Dalla barra di AWS Cloud9 IDE navigazione, scegli l'icona AWS Toolkit.
-
Espandere il menu di AWS Explorer.
-
Individua Regione AWS l'impostazione predefinita associata al tuo Account AWS. Quindi, selezionalo per visualizzare un elenco dei servizi disponibili tramite AWS Cloud9 IDE.
-
Apri il menu contestuale (fai clic con il pulsante destro del mouse) per l'ECRopzione di avvio del processo di creazione di un nuovo repository. Selezionare quindi Create Repository (Crea repository).
-
Per completare il processo, seguire le istruzioni a video.
-
Una volta completato il processo, puoi accedere al nuovo repository dalla ECRsezione del menu AWS Explorer.
4. Invio, estrazione ed eliminazione di immagini
Dopo aver creato un'immagine dal tuo Dockerfile e creato un repository, puoi inserire l'immagine nel tuo repository Amazon. ECR Inoltre, utilizzando AWS Explorer con Docker e AWS CLI, puoi fare quanto segue:
-
Estrarre un'immagine dal repository.
-
Eliminare un'immagine archiviata nel repository.
-
Eliminare il repository.
Autenticazione di Docker con il registro predefinito
L'autenticazione è necessaria per lo scambio di dati tra istanze Amazon ECR e Docker. Per autenticare Docker nel registro:
-
Apri un terminale all'interno del tuo. AWS Cloud9 IDE
-
Usa il get-login-passwordmetodo per autenticarti nel tuo ECR registro privato e inserisci la tua regione e il tuo Account AWS ID.
aws ecr get-login-password \ --region <
region
> \ | docker login \ --username AWS \ --password-stdin <aws_account_id
>.dkr.ecr.<region>.amazonaws.com.rproxy.goskope.comImportante
Nel comando precedente, sostituire
region
eAWS_account_id
con informazioni specifiche del proprio Account AWS. Un valore valido diregion
è us-east-1.
Assegnazione e invio di tag a un'immagine nel repository
Dopo aver autenticato Docker con l'istanza di AWS, inserisci un'immagine nel tuo repository.
-
Usa il comando docker images per visualizzare le immagini che hai archiviato localmente e identificare quella che desideri taggare.
docker images
L'output è il seguente.
REPOSITORY TAG IMAGE ID CREATED SIZE hello-world latest e9ffedc8c286 4 minutes ago 241MB
-
Assegnare tag all'immagine Docker con il comando Docker tag.
docker tag hello-world:latest
AWS_account_id
.dkr.ecr.region
.amazonaws.com/hello-world:latest -
Inviare l'immagine con tag al repository con il comando Docker push.
Importante
Assicurati che il nome del tuo repository locale sia lo stesso del tuo EC2 repository AWS Amazon. In questo esempio, è necessario denominare entrambi i repository
hello-world
. Per ulteriori informazioni sull'invio di immagini con docker, consultare Invio di un'immagine Docker.docker push
AWS_account_id
.dkr.ecr.region
.amazonaws.com/hello-world:latestL'output è il seguente.
The push refers to a repository [
AWS_account_id
.dkr.ecr.region
.amazonaws.com/hello-world] (len: 1) e9ae3c220b23: Pushed a6785352b25c: Pushed 0998bf8fb9e9: Pushed 0a85502c06c9: Pushed latest: digest: sha256:215d7e4121b30157d8839e81c4e0912606fca105775bb0636b95aed25f52c89b size: 6774
Dopo che l'immagine con tag è stata caricata correttamente nel tuo repository, aggiorna il AWS Toolkit scegliendo Refresh Explorer dalla scheda Explorer. AWS È quindi visibile nel menu Explorer in. AWS AWS Cloud9 IDE
Estrarre un'immagine da Amazon ECR
-
È possibile estrarre un'immagine nell'istanza locale del comando tag Docker.
docker pull
AWS_account_id
.dkr.ecr.region
.amazonaws.com/hello-world:latestL'output è il seguente.
azonaws.com/hello-world:latest latest: Pulling from hello-world Digest: sha256:e02c521fd65eae4ef1acb746883df48de85d55fc85a4172a09a124b11b339f5e Status: Image is up to date for 922327013870.dkr.ecr.us-west-2.amazonaws.com/hello-world.latest
Eliminazione di un'immagine dal tuo repository Amazon ECR
Esistono due metodi per eliminare un'immagine da. AWS Cloud9 IDE Il primo metodo consiste nell'utilizzare AWS Explorer.
-
Da AWS Explorer, espandi il ECRmenu.
-
Espandere il repository da cui si desidera eliminare un'immagine.
-
Aprire il menu contestuale (clic con il pulsante destro del mouse) per il tag di immagine associato all'immagine che si desidera eliminare.
-
Per eliminare tutte le immagini archiviate associate a quel tag, scegliere Delete Tag... (Elimina tag...).
Eliminazione di un'immagine utilizzando il AWS CLI
-
Puoi anche eliminare un'immagine dal tuo repository con il comando AWS batch-delete-imageecr.
aws ecr batch-delete-image \ --repository-name
hello-world
\ --image-ids imageTag=latestL'output è il seguente.
{ "failures": [], "imageIds": [ { "imageTag": "latest", "imageDigest": "sha256:215d7e4121b30157d8839e81c4e0912606fca105775bb0636b95aed25f52c89b" } ] }
Eliminazione di un repository dalla tua istanza Amazon ECR
Esistono due metodi per eliminare un repository da. AWS Cloud9 IDE Il primo metodo consiste nell'utilizzare Explorer: AWS
-
Da AWS Explorer, espandi il ECRmenu.
-
Aprire il menu contestuale (clic con il pulsante destro del mouse) del repository che si desidera eliminare.
-
Scegliere Delete Repository... (Elimina repository...).
Eliminazione di un ECR repository Amazon dal AWS CLI
-
È possibile eliminare un repository con il comando AWS ecr delete-repository.
Nota
Normalmente non è possibile eliminare un repository senza prima eliminare le immagini in esso contenute. Tuttavia, se si aggiunge il flag --force, è possibile eliminare un repository e tutte le sue immagini in un'unica fase.
aws ecr delete-repository \ --repository-name
hello-world
\ --forceL'output è il seguente.
--repository-name hello-world --force { "repository": { "repositoryUri": "922327013870.dkr.ecr.us-west-2.amazonaws.com/hello-world", "registryId": "922327013870", "imageTagMutability": "MUTABLE", "repositoryArn": "arn:aws:ecr:us-west-2:922327013870:repository/hello-world", "repositoryName": "hello-world", "createdAt": 1664469874.0 } }