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à.
Creazione di un contenitore Docker all'interno CloudShell e trasferimento in un repository Amazon ECR
Questo tutorial mostra come definire e creare un container Docker AWS CloudShell e inviarlo a un ECR repository Amazon.
Prerequisiti
Devi disporre delle autorizzazioni necessarie per creare e inviare un ECR repository Amazon. Per ulteriori informazioni sui repository con AmazonECR, consulta Amazon ECR private repository nella Amazon ECR User Guide. Per ulteriori informazioni sulle autorizzazioni necessarie per inviare immagini con AmazonECR, consulta IAMAutorizzazioni richieste per il push di un'immagine nella Amazon User Guide. ECR
Procedura tutorial
Il seguente tutorial illustra come utilizzare l' CloudShell interfaccia per creare un contenitore Docker e inviarlo a un repository AmazonECR.
Crea una nuova cartella nella tua home directory.
mkdir ~/docker-cli-tutorial
Vai alla cartella che hai creato.
cd ~/docker-cli-tutorial
Crea un Dockerfile vuoto.
touch Dockerfile
Utilizzando un editor di testo, ad esempio
nano Dockerfile
, apri il file e incolla il seguente contenuto al suo interno.# Dockerfile # Base this container on the latest Amazon Linux version FROM public.ecr.aws/amazonlinux/amazonlinux:latest # Install the cowsay binary RUN dnf install --assumeyes cowsay # Default entrypoint binary ENTRYPOINT [ "cowsay" ] # Default argument for the cowsay entrypoint CMD [ "Hello, World!" ]
Il Dockerfile è ora pronto per essere creato. Costruisci il contenitore eseguendo.
docker build
Etichetta il contenitore con un easy-to-type nome da utilizzare nei comandi futuri.docker build --tag test-container .
Assicurati di includere il punto finale (
.
).Ora puoi testare il contenitore per verificare che funzioni correttamente in AWS CloudShell.
docker container run test-container
Ora che hai un contenitore Docker funzionante, devi inviarlo a un ECR repository Amazon. Se disponi di un ECR repository Amazon esistente, puoi saltare questo passaggio.
Esegui il seguente comando per creare un ECR repository Amazon per questo tutorial.
ECR_REPO_NAME=docker-tutorial-repo aws ecr create-repository --repository-name ${ECR_REPO_NAME}
Dopo aver creato il ECR repository Amazon, puoi inviare il contenitore Docker al suo interno.
Esegui il comando seguente per ottenere le credenziali di ECR accesso Amazon per Docker.
AWS_ACCOUNT_ID=$(aws sts get-caller-identity --query "Account" --output text) ECR_URL=${AWS_ACCOUNT_ID}.dkr.ecr.${AWS_REGION}.amazonaws.com aws ecr get-login-password | docker login --username AWS --password-stdin ${ECR_URL}
Nota
Se la variabile di AWS_REGION ambiente non è impostata nel tuo CloudShell o desideri interagire con le risorse di altri Regioni AWS, esegui il seguente comando:
AWS_REGION=<your-desired-region>
Etichetta l'immagine con il ECR repository Amazon di destinazione e poi inviala a quel repository.
docker tag test-container ${ECR_URL}/${ECR_REPO_NAME} docker push ${ECR_URL}/${ECR_REPO_NAME}
Se riscontri errori o riscontri problemi durante il tentativo di completare questo tutorial, consulta la sezione Risoluzione dei problemi di questa guida per ricevere assistenza.
Eliminazione
Ora hai distribuito con successo il tuo contenitore Docker nel tuo repository AmazonECR. Per rimuovere i file creati in questo tutorial dal tuo AWS CloudShell ambiente, esegui il comando seguente.
cd ~ rm -rf ~/docker-cli-tutorial
Elimina il ECR repository Amazon.
aws ecr delete-repository --force --repository-name ${ECR_REPO_NAME}