

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à.

# Crea e testa immagini Docker per i servizi container Lightsail
<a name="amazon-lightsail-creating-container-images"></a>

Docker è una tecnologia che permette di creare, eseguire, testare e implementare applicazioni distribuite basate su container. I servizi container Amazon Lightsail utilizzano immagini di container Docker nelle distribuzioni per avviare i container.

In questa guida viene illustrato come creare un'immagine di container nel computer locale utilizzando un Dockerfile. Dopo aver creato l'immagine, puoi inviarla al servizio container Lightsail per implementarla.

Per completare le procedure in questa guida, devi disporre di una conoscenza base di Docker e del suo funzionamento. Per ulteriori informazioni su Docker, consulta [Cos'è Docker?](https://aws.amazon.com/docker/) e la [panoramica su Docker](https://docs.docker.com/get-started/overview/).

**Indice**
+ [Fase 1: completamento dei prerequisiti](#create-container-image-prerequisite)
+ [Fase 2: creazione di un Dockerfile e di un'immagine di container](#create-container-image-create-dockerfile)
+ [Fase 3: esecuzione della nuova immagine di container](#create-container-image-run-container)
+ [(Opzionale) Fase 4: pulizia dei container in esecuzione sul computer locale](#create-container-image-cleanup)
+ [Fasi successive dopo la creazione di immagini di container](#create-container-image-next-steps)

## Fase 1: completamento dei prerequisiti
<a name="create-container-image-prerequisite"></a>

Prima di iniziare, devi installare il software necessario per creare container e quindi inviarlo al servizio container Lightsail. Ad esempio, devi installare e utilizzare Docker per creare immagini di container personalizzate che puoi quindi utilizzare con il servizio container Lightsail. Per ulteriori informazioni, consulta [Installing software to manage container images for your Amazon Lightsail container services](amazon-lightsail-install-software.md).

## Fase 2: creazione di un Dockerfile e di un'immagine di container
<a name="create-container-image-create-dockerfile"></a>

Completa la procedura seguente per creare un Dockerfile e un'immagine di container Docker `mystaticwebsite` a partire da esso. L'immagine di container sarà per un semplice sito Web statico ospitato su un server Web Apache su Ubuntu.

1. Creazione di una cartella `mystaticwebsite` sul tuo computer locale in cui archivierai il tuo Dockerfile.

1. Crea un Dockerfile nella cartella che hai appena creato.

   Il Dockerfile non utilizza un'estensione di file, ad esempio `.TXT`. Il nome del file è `Dockerfile`.

1. Copia uno dei seguenti blocchi di codice, a seconda di come vuoi configurare l'immagine di container, e incollalo nel Dockerfile:
   + **Se vuoi creare una semplice immagine di container del sito Web statico con un messaggio Hello World**, copia il seguente blocco di codice e incollalo nel Dockerfile. Questo esempio di codice utilizza l'immagine Ubuntu 18.04. L'istruzione `RUN` aggiorna le cache dei pacchetti, installa e configura Apache e stampa un messaggio Hello World nella radice del documento del server Web. L'istruzione `EXPOSE` espone la porta 80 nel container, mentre l'istruzione `CMD` avvia il server Web.

     ```
     FROM ubuntu:18.04
     
     # Install dependencies
     RUN apt-get update && \
      apt-get -y install apache2
     
     # Write hello world message
     RUN echo 'Hello World!' > /var/www/html/index.html
     
     # Open port 80
     EXPOSE 80
     
     # Start Apache service
     CMD ["/usr/sbin/apache2ctl", "-D", "FOREGROUND"]
     ```
   + **Se vuoi utilizzare il tuo set di file HTML per l'immagine di container del sito Web statico**, crea una cartella `html` nella stessa cartella in cui è archiviato il Dockerfile. Quindi posiziona i tuoi file HTML in quella cartella.

     Dopo aver posizionato i tuoi file HTML nella cartella `html`, copia il seguente blocco di codice e incollalo nel Dockerfile. Questo esempio di codice utilizza l'immagine Ubuntu 18.04. L'istruzione `RUN` aggiorna le cache dei pacchetti, installa e configura Apache. L'istruzione `COPY` copia il contenuto della cartella html nella radice del documento del server Web. L'istruzione `EXPOSE` espone la porta 80 nel container, mentre l'istruzione `CMD` avvia il server Web.

     ```
     FROM ubuntu:18.04
     
     # Install dependencies
     RUN apt-get update && \
      apt-get -y install apache2
     
     # Copy html directory files
     COPY html /var/www/html/
     
     # Open port 80
     EXPOSE 80
     
     CMD ["/usr/sbin/apache2ctl", "-D", "FOREGROUND"]
     ```

1. Apri un prompt dei comandi o una finestra del terminale e modifica la directory nella cartella in cui è archiviato il Dockerfile.

1. Inserisci il comando seguente per creare l'immagine di container utilizzando il Dockerfile nella cartella. Questo comando crea una nuova immagine di container Docker denominata `mystaticwebsite`.

   ```
   docker build -t mystaticwebsite .
   ```

   Dovresti visualizzare un messaggio che conferma che l'immagine è stata creata correttamente.

1. Inserisci il comando seguente per visualizzare le immagini di container sul computer locale.

   ```
   docker images --filter reference=mystaticwebsite
   ```

   Dovresti vedere un risultato analogo all'esempio seguente, che mostra la nuova immagine di container creata.  
![\[Risultato del comando docker images\]](http://docs.aws.amazon.com/it_it/lightsail/latest/userguide/images/docker-images-command-result.png)

   L'immagine di container appena creata è pronta per essere testata utilizzandola per eseguire un nuovo container sul computer locale. Continua fino alla successiva [Fase 3: esecuzione della nuova immagine di container](#create-container-image-run-container) in questa guida.

## Fase 3: esecuzione della nuova immagine di container
<a name="create-container-image-run-container"></a>

Completa i seguenti passaggi per eseguire la nuova immagine di container creata.

1. In un prompt dei comandi o in una finestra del terminale, inserisci il comando seguente per eseguire l'immagine di container creata nella precedente [Fase 2: creazione di un Dockerfile e di un'immagine di container](#create-container-image-create-dockerfile) in questa guida. L'opzione `-p 8080:80` mappa la porta 80 esposta sul container alla porta 8080 sul computer locale. L'opzione `-d` specifica che il container deve essere eseguito in modalità scollegata.

   ```
   docker container run -d -p 8080:80 --name mystaticwebsite mystaticwebsite:latest
   ```

1. Inserisci il comando seguente per visualizzare i container in esecuzione.

   ```
   docker container ls -a
   ```

   Dovresti vedere un risultato analogo all'esempio seguente, che mostra il nuovo container in esecuzione.  
![\[Risultato del comando docker container\]](http://docs.aws.amazon.com/it_it/lightsail/latest/userguide/images/docker-container-command-result.png)

1. Per confermare che il container è operativo, apri una nuova finestra del browser e passa a `http://localhost:8080`. Dovresti visualizzare un messaggio simile all'esempio seguente. Questo conferma che il container è operativo sul computer locale.  
![\[Sito Web statico in esecuzione in un container Docker\]](http://docs.aws.amazon.com/it_it/lightsail/latest/userguide/images/container-mystaticsite-hello-world.png)

   L'immagine del container appena creato è pronta per essere inviata al tuo account Lightsail, in modo da poterla implementare nel tuo servizio container Lightsail. Per ulteriori informazioni, consulta [Pushing and managing container images on your Amazon Lightsail container services](amazon-lightsail-pushing-container-images.md).

## (Opzionale) Fase 4: pulizia dei container in esecuzione sul computer locale
<a name="create-container-image-cleanup"></a>

Ora che hai creato un'immagine di container che puoi inviare al servizio container Lightsail, è il momento di pulire i container in esecuzione sul computer locale seguendo le procedure descritte in questa guida.

Completa i passaggi seguenti per pulire i container in esecuzione sul computer locale:

1. Inserisci il comando seguente per visualizzare i container in esecuzione sul computer locale.

   ```
   docker container ls -a
   ```

   Dovresti vedere un risultato simile al seguente, in cui sono elencati i nomi dei container in esecuzione sul computer locale.  
![\[Risultato del comando docker container\]](http://docs.aws.amazon.com/it_it/lightsail/latest/userguide/images/docker-container-command-result.png)

1. Esegui il comando seguente per rimuovere il container in esecuzione creato in precedenza in questa guida. Questo forza l'arresto del container e lo elimina in modo permanente.

   ```
   docker container rm <ContainerName> --force
   ```

   Nel comando, sostituisci < ContainerName > con il nome del contenitore che desideri interrompere ed elimina.

   Esempio:

   ```
   docker container rm mystaticwebsite --force
   ```

   Il container creato come risultato di questa guida dovrebbe essere ora eliminato.

## Fasi successive dopo la creazione di immagini di container
<a name="create-container-image-next-steps"></a>

Dopo aver creato le immagini di container, inviale al servizio container Lightsail quando sei pronto per implementarle. Per ulteriori informazioni, consulta [Gestire le immagini del servizio container Lightsail](amazon-lightsail-pushing-container-images.md).

**Topics**
+ [Fase 1: completamento dei prerequisiti](#create-container-image-prerequisite)
+ [Fase 2: creazione di un Dockerfile e di un'immagine di container](#create-container-image-create-dockerfile)
+ [Fase 3: esecuzione della nuova immagine di container](#create-container-image-run-container)
+ [(Opzionale) Fase 4: pulizia dei container in esecuzione sul computer locale](#create-container-image-cleanup)
+ [Fasi successive dopo la creazione di immagini di container](#create-container-image-next-steps)
+ [Gestione di immagini di container](amazon-lightsail-pushing-container-images.md)
+ [Installa il plug-in per i servizi dei container](amazon-lightsail-install-software.md)
+ [Accesso al repository privato di Amazon ECR](amazon-lightsail-container-service-ecr-private-repo-access.md)

# Invia, visualizza ed elimina le immagini dei container per un servizio container Lightsail
<a name="amazon-lightsail-pushing-container-images"></a>

Quando crei un’implementazione, nel servizio container Amazon Lightsail, devi specificare un'immagine container di origine per ogni voce del container. Puoi utilizzare immagini da un registro pubblico, come la galleria pubblica di Amazon ECR oppure puoi utilizzare le immagini create sul computer locale. In questa guida è illustrato come eseguire il push di immagini container dal computer locale al servizio container Lightsail. Per ulteriori informazioni sulla creazione di immagini di container, consulta [Creazione di immagini di container per i servizi di container](amazon-lightsail-creating-container-images.md).

**Indice**
+ [Prerequisiti](#push-container-images-prerequisites)
+ [Push di immagini container dal computer locale al servizio container](#push-container-images)
+ [Visualizzazione delle immagini container archiviate nel servizio container](#view-pushed-container-images)
+ [Eliminazione delle immagini container archiviate nel servizio container](#delete-stored-container-images)

## Prerequisiti
<a name="push-container-images-prerequisites"></a>

Completa i seguenti prerequisiti prima di iniziare a eseguire il push delle immagini container a un servizio container:
+ Crea il servizio container nell'account Lightsail. Per ulteriori informazioni, consulta [Creazione di servizi container Amazon Lightsail](amazon-lightsail-creating-container-services.md).
+ Installa sul computer locale il software necessario per creare le immagini container ed eseguirne il push al servizio container Lightsail. Per ulteriori informazioni, consulta [Installazione del software per gestire le immagini container per i servizi container Amazon Lightsail](amazon-lightsail-install-software.md).
+ Crea immagini container nel computer locale di cui puoi eseguire il push al servizio container Lightsail. Per ulteriori informazioni, consulta [Creazione di immagini container per i servizi container Amazon Lightsail](amazon-lightsail-creating-container-images.md).

## Push di immagini container dal computer locale al servizio container
<a name="push-container-images"></a>

Completa la procedura seguente per eseguire il push delle immagini container al servizio container.

1. Apri un prompt dei comandi o una finestra del terminale.

1. Nel prompt dei comandi o nella finestra del terminale, inserisci il seguente comando per visualizzare le immagini Docker attualmente presenti sul computer locale.

   ```
   docker images
   ```

1. Nel risultato, individua il nome (nome del repository) e il tag dell'immagine container di cui desideri eseguire il push al servizio container. Annotalo poiché sarà necessario nella fase successiva.  
![\[Immagini container Docker in un computer locale\]](http://docs.aws.amazon.com/it_it/lightsail/latest/userguide/images/amazon-lightsail-container-service-docker-images.png)

1. Inserisci il comando seguente per eseguire il push delle immagini container sul computer locale al servizio container.

   ```
   aws lightsail push-container-image --region <Region> --service-name <ContainerServiceName> --label <ContainerImageLabel> --image <LocalContainerImageName>:<ImageTag>
   ```

   Nel comando, sostituisci:
   + *<Region>*con la regione AWS in cui è stato creato il tuo servizio container.
   + *<ContainerServiceName>*con il nome del servizio container.
   + *<ContainerImageLabel>*con l'etichetta a cui vuoi dare l'immagine del contenitore quando è immagazzinato nel tuo servizio container. Specifica un'etichetta descrittiva che puoi utilizzare per tenere traccia delle diverse versioni delle immagini container registrate.

     L'etichetta farà parte del nome dell'immagine container generato dal servizio container. Ad esempio, se il nome del servizio container è `container-service-1`, l'etichetta dell'immagine container è `mystaticsite`, e questa è la prima versione dell'immagine container di cui esegui il push, quindi il nome dell'immagine generato dal servizio container sarà `:container-service-1.mystaticsite.1`.
   + *<LocalContainerImageName>*con il nome dell'immagine del contenitore che vuoi inviare al tuo servizio di container. Hai ottenuto il nome dell'immagine container nella fase precedente di questa procedura.
   + *<ImageTag>*con il tag dell'immagine del contenitore che vuoi inviare al tuo servizio di container. Hai ottenuto il tag dell'immagine container nella fase precedente di questa procedura.

   Esempio:

   ```
   aws lightsail push-container-image --region us-west-2 --service-name myservice --label mystaticwebsite --image mystaticwebsite:v2
   ```

   Il risultato dovrebbe essere analogo all'esempio seguente, che conferma che l'immagine container è stata spostata al servizio container.  
![\[Immagine del contenitore Docker inviata a un servizio container Lightsail\]](http://docs.aws.amazon.com/it_it/lightsail/latest/userguide/images/amazon-lightsail-container-service-pushed-image.png)

   Consulta la sezione [Visualizzazione delle immagini container archiviate nel servizio container](#view-pushed-container-images) riportata di seguito in questa guida per visualizzare l'immagine container di cui hai eseguito il push al servizio container nella console Lightsail.

## Visualizzazione delle immagini container archiviate nel servizio container
<a name="view-pushed-container-images"></a>

Completa la procedura seguente per visualizzare le immagini container di cui è stato eseguito il push e che vengono archiviate nel servizio container.

1. Accedi alla console [Lightsail](https://lightsail.aws.amazon.com/).

1. **Nel riquadro di navigazione a sinistra, scegli Contenitori.**

1. Scegli il nome del servizio container per il quale desideri visualizzare le immagini container archiviate.

1. Nella pagina di gestione del servizio container, scegli la scheda **Images** (Immagini).
**Nota**  
La scheda **Images** (Immagini) non viene visualizzata se non si è eseguito il push delle immagini al servizio container. Per visualizzare la scheda delle immagini per il servizio container, prima devi eseguire il push delle immagini container al servizio container.

   La pagina **Images** (Immagini) elenca le immagini container di cui è stato eseguito il push al servizio container e che al momento sono archiviate nel servizio. Le immagini container utilizzate in un'implementazione corrente non possono essere eliminate e sono elencate con un'icona di eliminazione disattivata.  
![\[La pagina delle immagini memorizzate della console Lightsail\]](http://docs.aws.amazon.com/it_it/lightsail/latest/userguide/images/amazon-lightsail-container-services-stored-images-page.png)

   È possibile creare implementazioni utilizzando le immagini container archiviate nel servizio. Per ulteriori informazioni, consulta Creazione e gestione di implementazioni per i servizi container Amazon Lightsail.

## Eliminazione delle immagini container archiviate nel servizio container
<a name="delete-stored-container-images"></a>

Completa la procedura seguente per eliminare le immagini container di cui è stato eseguito il push e che vengono archiviate nel servizio container.

1. Accedi alla console [Lightsail](https://lightsail.aws.amazon.com/).

1. **Nel riquadro di navigazione a sinistra, scegli Contenitori.**

1. Scegli il nome del servizio container per il quale desideri visualizzare l'implementazione corrente.

1. Nella pagina di gestione del servizio container, scegli la scheda **Images** (Immagini).
**Nota**  
La scheda **Images** (Immagini) non viene visualizzata se non si è eseguito il push delle immagini al servizio container. Per visualizzare la scheda delle immagini per il servizio container, prima devi eseguire il push delle immagini container al servizio container.

1. Individua l'immagine container da eliminare e scegli l'icona di eliminazione (cestino).
**Nota**  
Le immagini container utilizzate in un'implementazione corrente non possono essere eliminate e le rispettive icone di eliminazione sono disattivate.

1. Nel prompt di conferma visualizzato, scegli **Yes, delete** (Sì, elimina) per confermare di voler eliminare in modo permanente l'immagine archiviata.

   L'immagine container archiviata viene eliminata immediatamente dal servizio container.

# Installa Docker e AWS CLI il plug-in Lightsail Control per contenitori
<a name="amazon-lightsail-install-software"></a>

Puoi utilizzare la console Amazon Lightsail per creare i tuoi servizi container Lightsail e creare distribuzioni utilizzando immagini di container da un registro pubblico online, come Amazon ECR Public Gallery. Per creare immagini container personalizzate ed eseguirne il push al servizio container, è necessario installare il seguente software aggiuntivo sullo stesso computer in cui si prevede di creare le immagini container:
+ **Docker**: esegui, testa e crea immagini di container personalizzate da utilizzare con il servizio container Lightsail.
+ **AWS Command Line Interface (AWS CLI)** — Specificate i parametri delle immagini dei container che create, quindi inviatele al servizio container Lightsail. La versione 2.1.1 e successive funzioneranno con il plugin Lightsail Control.
+ Plugin **Lightsail Control (lightsailctl)**: consente di accedere alle immagini AWS CLI del contenitore presenti sul computer locale.

Le sezioni seguenti di questa guida indicano dove andare per scaricare questi pacchetti software e come installarli. Per ulteriori informazioni sui servizi di container, consulta [Servizi di container](amazon-lightsail-container-services.md).

**Indice**
+ [Installa Docker](#install-software-docker)
+ [Installa il AWS CLI](#install-software-aws-cli)
+ [Installa il plugin Lightsail Control](#install-software-lightsailctl)
  + [Installazione del plug-in lightsailctl su Windows](#install-lightsailctl-on-windows)
  + [Installazione del plug-in lightsailctl su macOS](#install-lightsailctl-on-macos)
  + [Installazione del plug-in lightsailctl su Linux](#install-lightsailctl-on-linux)

## Installa Docker
<a name="install-software-docker"></a>

Docker è una tecnologia che consente di creare, testare, distribuire ed eseguire applicazioni distribuite basate su container di Linux. È necessario installare e utilizzare il software Docker se si desidera creare immagini di container personalizzate da utilizzare con il servizio container Lightsail. Per ulteriori informazioni, consulta [Creare immagini di container per i servizi container Lightsail](amazon-lightsail-creating-container-images.md).

Docker è disponibile per diversi sistemi operativi, compresa la maggior parte delle distribuzioni Linux, ad esempio Ubuntu, e persino per macOS e Windows. Per ulteriori informazioni sull'installazione di Docker su un sistema operativo specifico, consulta la [guida all'installazione di Docker](https://docs.docker.com/engine/installation/#installation).

**Nota**  
È necessario installare sempre la versione più recente di Docker. Non è garantito che le versioni precedenti di Docker funzionino con il plugin Lightsail Control (lightsailctl) descritto più avanti in questa guida. AWS CLI 

## Installa il AWS CLI
<a name="install-software-aws-cli"></a>

 AWS CLI È uno strumento open source che consente di interagire con AWS servizi, come Lightsail, utilizzando i comandi nella shell della riga di comando. È necessario installare e utilizzare AWS CLI per inviare le immagini dei container, create sul computer locale, al servizio container Lightsail.

 AWS CLI È disponibile nelle seguenti versioni:
+ **Versione 2.x**: la versione corrente, generalmente disponibile della AWS CLI. Questa è la versione principale più recente di AWS CLI e supporta tutte le funzionalità più recenti, inclusa la possibilità di inviare le immagini dei container ai servizi container Lightsail. La versione 2.1.1 e successive funzioneranno con il plugin Lightsail Control.
+ **Versione 1.x**: la versione precedente di AWS CLI che è disponibile per la compatibilità con le versioni precedenti. Questa versione non supporta la possibilità di inviare le immagini dei container ai servizi container Lightsail. Pertanto, è necessario installare invece la AWS CLI versione 2.

La AWS CLI versione 2 è disponibile per i sistemi operativi Linux, macOS e Windows. Per istruzioni su come installarla AWS CLI su tali sistemi operativi, consulta [Installazione della AWS CLI versione 2](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html) nella *Guida per l'AWS CLI utente*.

## Installa il plugin Lightsail Control
<a name="install-software-lightsailctl"></a>

Il plugin Lightsail Control (lightsailctl) è un'applicazione leggera che consente di accedere alle immagini AWS CLI dei container create sul computer locale. Ti consente di inviare le immagini dei container al tuo servizio container Lightsail, in modo da poterle distribuire nel tuo servizio.

**Requisiti di sistema**
+ Un sistema operativo Windows, macOS o Linux con supporto a 64 bit.
+ AWS CLI la versione 2 deve essere installata sul computer locale per poter utilizzare il plugin lightsailctl. Per ulteriori informazioni, consulta la sezione [Installazione della AWS CLI](#install-software-aws-cli) precedente di questa guida.

**Utilizzo della versione più recente del plug-in lightsailctl**

Il plug-in lightsailctl viene aggiornato periodicamente con funzionalità avanzate. Ogni volta che viene utilizzato, il plug-in lightsailctl esegue un controllo per confermare che la versione in uso è la più recente. Se rileva che è disponibile una versione nuova, richiede di eseguire l'aggiornamento alla versione più recente per sfruttarne le caratteristiche. Quando è disponibile una versione aggiornata, è necessario ripetere il processo di installazione per ottenere la versione più recente del plug-in lightsailctl.

La tabella seguente elenca tutte le release del plug-in lightsailctl, nonché le caratteristiche e i miglioramenti inclusi in ciascuna versione.
+ **v1.0.0 (rilasciata il 12 novembre 2020)** — La versione iniziale aggiunge funzionalità per la AWS CLI versione 2 per inviare le immagini dei container a un servizio container Lightsail.

### Installazione del plug-in lightsailctl su Windows
<a name="install-lightsailctl-on-windows"></a>

Per installare il plug-in lightsailctl su Windows, completa la procedura seguente.

1. Scarica il programma di installazione dal seguente URL e salvalo nella directory `C:\Temp\lightsailctl\`.

   ```
   https://s3.us-west-2.amazonaws.com/lightsailctl/latest/windows-amd64/lightsailctl.exe
   ```

1. Scegli il pulsante **Start di Windows**, quindi cerca `cmd`.

1. Nei risultati della ricerca, fai clic con il pulsante destro del mouse su **Prompt dei comandi** e scegli **Esegui come amministratore**.  
![\[Esegui il prompt dei comandi come amministratore\]](http://docs.aws.amazon.com/it_it/lightsail/latest/userguide/images/lightsailctl-cmd-run-as-administrator.png)
**Nota**  
Potresti visualizzare un prompt che chiede se desideri permettere al prompt dei comandi di apportare modifiche al dispositivo. Scegli **Sì** per continuare con l'installazione.

1. Inserisci il comando seguente per impostare una variabile di ambiente del percorso che punti alla directory `C:\Temp\lightsailctl\` in cui hai salvato il plug-in lightsailctl.

   ```
   setx PATH "%PATH%;C:\Temp\lightsailctl" /M
   ```

   Il risultato dovrebbe essere analogo all'esempio seguente.  
![\[Risposta della riga di comando al comando setx\]](http://docs.aws.amazon.com/it_it/lightsail/latest/userguide/images/lighstailctl-setx-command.png)

Il comando `setx` troncherà oltre 1024 caratteri. Utilizza la seguente procedura per impostare manualmente la variabile di ambiente path se hai già più variabili impostate nel tuo PATH. 

1. Nel menu **Avvia**, fai clic su **Pannello di controllo**.

1. Scegli **Sistema e sicurezza**, quindi **Sistema**.

1. Scegliere **Impostazioni di sistema avanzate**.

1. Nella scheda **Avanzate** della finestra di dialogo **Proprietà del sistema**, scegli **Variabili di ambiente**.

1. Nella casella **Variabili di sistema** della finestra di dialogo **Variabili di ambiente**, seleziona **Percorso**.

1. Scegli il pulsante **Modifica** situato sotto la casella **Variabili di sistema**.  
![\[Variabili di sistema Windows\]](http://docs.aws.amazon.com/it_it/lightsail/latest/userguide/images/lightsail-windows-system-variables.png)

1. Scegli **Nuovo**, quindi inserisci il seguente percorso: `C:\Temp\lightsailctl\`  
![\[Variabili di ambiente di Windows\]](http://docs.aws.amazon.com/it_it/lightsail/latest/userguide/images/lightsail-windows-edit-env-variable.png)

1. Scegli **OK** in tre finestre di dialogo successive, quindi chiudi la finestra di dialogo **Sistema**.

Ora sei pronto per utilizzare AWS Command Line Interface (AWS CLI) per inviare le immagini dei container al tuo servizio container Lightsail. Per ulteriori informazioni, consulta [Invio e gestione delle immagini di container](amazon-lightsail-pushing-container-images.md).

### Installazione del plug-in lightsailctl su macOS
<a name="install-lightsailctl-on-macos"></a>

Per scaricare e installare il plug-in lightsailctl su macOS, completa una delle procedure seguenti.

**Download e installazione di Homebrew**

1. Apri una finestra del terminale.

1. Inserisci il seguente comando per scaricare e installare il plug-in lightsailctl.

   ```
   brew install aws/tap/lightsailctl
   ```
**Nota**  
Per ulteriori informazioni su Homebrew, consulta il sito Web di [Homebrew](https://brew.sh/).

**Download e installazione manuali**

1. Apri una finestra del terminale.

1. Inserisci il seguente comando per scaricare il plug-in lightsailctl e copiarlo nella cartella bin.

   ```
   curl "https://s3.us-west-2.amazonaws.com/lightsailctl/latest/darwin-amd64/lightsailctl" -o "/usr/local/bin/lightsailctl"
   ```

1. Inserisci il comando seguente per rendere eseguibile il plug-in.

   ```
   chmod +x /usr/local/bin/lightsailctl
   ```

1. Inserisci il comando seguente per cancellare gli attributi estesi per il plug-in.

   ```
   xattr -c /usr/local/bin/lightsailctl
   ```

Ora sei pronto per utilizzare l'opzione per AWS CLI inviare le immagini dei container al tuo servizio container Lightsail. Per ulteriori informazioni, consulta [Invio e gestione delle immagini di container](amazon-lightsail-pushing-container-images.md).

### Installazione del plug-in lightsailctl su Linux
<a name="install-lightsailctl-on-linux"></a>

Completa la seguente procedura per installare il plug-in Lightsail Container Services su Linux.

1. Apri una finestra del terminale.

1. Inserisci il seguente comando per scaricare il plug-in lightsailctl.
   + Per la versione con architettura AMD a 64 bit del plug-in:

     ```
     curl "https://s3.us-west-2.amazonaws.com/lightsailctl/latest/linux-amd64/lightsailctl" -o "/usr/local/bin/lightsailctl"
     ```
   + Per la versione con architettura ARM a 64 bit del plug-in:

     ```
     curl "https://s3.us-west-2.amazonaws.com/lightsailctl/latest/linux-arm64/lightsailctl" -o "/usr/local/bin/lightsailctl"
     ```

1. Inserisci il comando seguente per rendere eseguibile il plug-in.

   ```
   sudo chmod +x /usr/local/bin/lightsailctl
   ```

   Ora sei pronto per utilizzare l'opzione per AWS CLI inviare le immagini dei container al tuo servizio container Lightsail. Per ulteriori informazioni, consulta [Invio e gestione delle immagini di container](amazon-lightsail-pushing-container-images.md).

# Concedi ai servizi container Lightsail l'accesso agli archivi privati di Amazon ECR
<a name="amazon-lightsail-container-service-ecr-private-repo-access"></a>

Amazon Elastic Container Registry (Amazon ECR) è AWS un servizio di registro di immagini di container gestito che supporta repository privati con autorizzazioni basate sulle risorse (IAM). AWS Identity and Access Management Puoi consentire ai servizi di container Amazon Lightsail di accedere ai tuoi repository privati Amazon ECR. Regione AWS Quindi, puoi implementare le immagini dal tuo repository privato ai servizi di container.

Puoi gestire l'accesso ai tuoi servizi container Lightsail e ai tuoi repository privati Amazon ECR utilizzando la console Lightsail o (). AWS Command Line Interface AWS CLI Tuttavia, ti consigliamo di utilizzare la console Lightsail perché semplifica il processo.

Per ulteriori informazioni sui servizi di container, consulta [Servizi di container](amazon-lightsail-container-services.md). Per ulteriori informazioni su Amazon ECR, consulta la [Guida per l'utente di Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/what-is-ecr.html).

**Indice**
+ [Autorizzazioni richieste](#ecr-private-repos-permissions)
+ [Usa la console Lightsail per gestire l'accesso ai repository privati](#ecr-private-repo-access-lightsail-console)
+ [Utilizza la AWS CLI per gestire l'accesso ai repository privati](#ecr-private-repo-access-cli)
  + [Attivazione o disattivazione del ruolo IAM di estrazione delle immagini di Amazon ECR](#activate-ecr-puller-role)
  + [Determinare se il repository privato Amazon ECR dispone di un'istruzione di policy](#identify-ecr-repo-policy-statement)
    + [Aggiunta di una policy a un repository privato che non dispone di un'istruzione di policy](#ecr-private-repo-add-policy-no-policy)
    + [Aggiunta di una policy a un repository privato che dispone di un'istruzione di policy](#ecr-private-repo-add-policy-existing-policy)

## Autorizzazioni richieste
<a name="ecr-private-repos-permissions"></a>

L'utente che gestirà l'accesso dei servizi container Lightsail agli archivi privati di Amazon ECR deve disporre di una delle seguenti politiche di autorizzazione in IAM. Per ulteriori informazioni, consulta [Aggiunta e rimozione di autorizzazioni per identità IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) nella *Guida per l'utente di AWS Identity and Access Management *.

**Concessione dell'accesso a qualsiasi repository privato di Amazon ECR**

La seguente policy di autorizzazione concede a un utente l'autorizzazione per configurare l'accesso a qualsiasi repository privato di Amazon ECR.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ManageEcrPrivateRepositoriesAccess",
            "Effect": "Allow",
            "Action": [
                "ecr:SetRepositoryPolicy",
                "ecr:DescribeRepositories",
                "ecr:DeleteRepositoryPolicy",
                "ecr:GetRepositoryPolicy"
            ],
            "Resource": "arn:aws:ecr:*:111122223333:repository/*"
        }
    ]
}
```

------

Nella policy, sostituiscilo *AwsAccountId* con il numero ID del tuo account. AWS 

**Concessione dell'accesso a un repository privato specifico di Amazon ECR**

La seguente policy di autorizzazione concede a un utente l'autorizzazione per configurare l'accesso a uno specifico repository privato di Amazon ECR in una determinata Regione AWS.

Nella policy, sostituisci il seguente testo d'esempio con il tuo testo:
+ *AwsRegion*— Il Regione AWS codice (ad esempio,`us-east-1`) del repository privato. Il servizio container Lightsail deve trovarsi nello Regione AWS stesso archivio privato a cui desideri accedere.
+ *AwsAccountId*— Il numero identificativo del tuo AWS account.
+ *RepositoryName*— Il nome dell'archivio privato per il quale desideri gestire l'accesso.

Di seguito viene riportato un esempio della policy di autorizzazione compilata con valori di esempio.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ManageEcrPrivateRepositoriesAccess",
            "Effect": "Allow",
            "Action": [
                "ecr:SetRepositoryPolicy",
                "ecr:DescribeRepositories",
                "ecr:DeleteRepositoryPolicy",
                "ecr:GetRepositoryPolicy"
            ],
            "Resource": "arn:aws:ecr:us-east-1:111122223333:repository/my-private-repo"
        }
    ]
}
```

------

## Usa la console Lightsail per gestire l'accesso ai repository privati
<a name="ecr-private-repo-access-lightsail-console"></a>

Completa la seguente procedura per utilizzare la console Lightsail per gestire l'accesso di un servizio container Lightsail a un repository privato Amazon ECR.

1. Accedi alla console [Lightsail](https://lightsail.aws.amazon.com/).

1. **Nel riquadro di navigazione a sinistra, scegli Contenitori.**

1. Scegli il nome del servizio di container per il quale desideri configurare l'accesso a un repository privato di Amazon ECR.  
![\[Servizio container nella console Lightsail\]](http://docs.aws.amazon.com/it_it/lightsail/latest/userguide/images/container-service-card.png)

1. Scegli la scheda **Images** (Immagini).  
![\[Scheda Immagini nella pagina di gestione dei servizi container della console Lightsail\]](http://docs.aws.amazon.com/it_it/lightsail/latest/userguide/images/container-service-images-tab.png)

1. Scegli **Aggiungi repository** per concedere al servizio di container l'accesso a un repository privato di Amazon ECR.
**Nota**  
Scegli **Rimuovi** per rimuovere dal servizio di container l'accesso a un repository privato di Amazon ECR aggiunto in precedenza.  
![\[Sezione repository privati di Amazon ECR della scheda Immagini\]](http://docs.aws.amazon.com/it_it/lightsail/latest/userguide/images/container-service-ecr-repos-section.png)

1. Nel menu a discesa visualizzato, seleziona il repository privato a cui desideri accedere, quindi scegli **Aggiungi**.  
![\[Selezione dal menu a discesa dei repository privati di Amazon ECR\]](http://docs.aws.amazon.com/it_it/lightsail/latest/userguide/images/container-service-ecr-repos-selection.png)

   Lightsail impiega alcuni minuti per attivare il ruolo IAM di Amazon ECR image puller per il tuo servizio container, che include un Amazon Resource Name (ARN) principale. Lightsail aggiunge quindi automaticamente l'ARN principale del ruolo IAM alla politica di autorizzazione del repository privato Amazon ECR che hai selezionato. Ciò garantisce al servizio container l'accesso al repository privato e alle sue immagini. Non chiudere la finestra del browser fino a quando il modale visualizzato non indica che il processo è stato completato, dopodiché scegli **Continue** (Continua).  
![\[Modale che conferma che le autorizzazioni sono state aggiunte al repository privato di Amazon ECR\]](http://docs.aws.amazon.com/it_it/lightsail/latest/userguide/images/container-service-ecr-repos-confirmation-modal.png)

1. Scegli **Continue** (Continua) quando l'attivazione è completata.

   Dopo aver aggiunto il repository privato Amazon ECR selezionato, sarà riportato nella sezione **Repository privati di Amazon ECR** della pagina. La pagina include istruzioni su come distribuire un'immagine dal repository privato al servizio container Lightsail. Per utilizzare un'immagine dal repository privato, specifica il formato URI visualizzato sulla pagina come il valore dell'**immagine** nell'implementazione del servizio container. Nell'URI specificato, sostituisci l'esempio *\$1image tag\$1* con il tag dell'immagine che desideri distribuire. Per ulteriori informazioni, consulta la pagina [Creazione e gestione delle implementazioni dei servizi di container](amazon-lightsail-container-services-deployments.md).  
![\[Fasi successive dopo l'aggiunta di un repository privato di Amazon ECR\]](http://docs.aws.amazon.com/it_it/lightsail/latest/userguide/images/container-service-ecr-repos-next-steps.png)

## Utilizzate il AWS CLI per gestire l'accesso ai repository privati
<a name="ecr-private-repo-access-cli"></a>

La gestione dell'accesso di un servizio container Lightsail a un repository privato Amazon ECR utilizzando AWS CLI() richiede AWS Command Line Interface i seguenti passaggi:

**Importante**  
Ti consigliamo di utilizzare la console Lightsail per gestire l'accesso di un servizio container Lightsail a un repository privato Amazon ECR perché semplifica il processo. Per ulteriori informazioni, consulta [Utilizzare la console Lightsail per gestire l'accesso ai repository privati all'inizio di](#ecr-private-repo-access-lightsail-console) questa guida.

1. **Attivazione o disattivazione del ruolo IAM di Amazon ECR image puller**: utilizza il comando AWS CLI `update-container-service` per Lightsail per attivare o disattivare il ruolo IAM di Amazon ECR image puller. Quando il ruolo IAM di estrazione delle immagini di Amazon ECR viene attivato, viene creato un nome della risorsa Amazon (ARN) del principale. Per ulteriori informazioni, consulta la sezione [Attivazione o disattivazione del ruolo IAM di estrazione delle immagini di Amazon ECR](#activate-ecr-puller-role) di questa guida.

1. **Determinare se il repository privato di Amazon ECR dispone di un'istruzione di policy**: dopo avere attivato il ruolo IAM di estrazione delle immagini di Amazon ECR, sarà necessario determinare se il repository privato di Amazon ECR a cui desideri accedere con il servizio di container dispone di un'istruzione di policy esistente. Per ulteriori informazioni, consulta la sezione [Determinare se il repository privato di Amazon ECR dispone di un'istruzione di policy](#identify-ecr-repo-policy-statement) più avanti in questa guida. 

   È possibile aggiungere l'ARN del principale del ruolo IAM al repository utilizzando uno dei seguenti metodi, a seconda che il repository disponga di un'istruzione della policy esistente:

   1. **Aggiungi una policy a un repository privato che non include una policy**: utilizza il AWS CLI `set-repository-policy` comando per Amazon ECR per aggiungere l'ARN del ruolo principale di Amazon ECR image puller per il tuo servizio container a un repository privato con una policy esistente. Per ulteriori informazioni, consulta la sezione [Aggiunta di una policy a un repository privato che non dispone di un'istruzione di policy](#ecr-private-repo-add-policy-no-policy) più avanti in questa guida.

   1. **Aggiungi una policy a un repository privato con una dichiarazione di policy**: utilizza il AWS CLI `set-repository-policy` comando for Amazon ECR per aggiungere il ruolo Amazon ECR image puller per il tuo servizio container a un repository privato che non dispone di una policy esistente. Per ulteriori informazioni, consulta la sezione [Aggiunta di una policy a un repository privato che dispone di un'istruzione di policy](#ecr-private-repo-add-policy-existing-policy) più avanti in questa guida.

### Attivazione o disattivazione del ruolo IAM di estrazione delle immagini di Amazon ECR
<a name="activate-ecr-puller-role"></a>

Completa la seguente procedura per attivare o disattivare il ruolo IAM di Amazon ECR image puller per il tuo servizio container Lightsail. Puoi attivare o disattivare il ruolo IAM di Amazon ECR image puller utilizzando il comando AWS CLI `update-container-service` per Lightsail. Per ulteriori informazioni, consulta [update-container-service](https://docs.aws.amazon.com/cli/latest/reference/lightsail/update-container-service.html) nella *documentazione di riferimento dei comandi della AWS CLI *.

**Nota**  
È necessario installare AWS CLI e configurarlo per Lightsail prima di continuare con questa procedura. Per ulteriori informazioni, consulta [AWS CLI Configurare l'utilizzo di Lightsail](lightsail-how-to-set-up-and-configure-aws-cli.md).

1. Apri un prompt dei comandi o una finestra del terminale.

1. Inserisci il comando seguente per aggiornare un servizio di container e attivare o disattivare il ruolo IAM di estrazione delle immagini di Amazon ECR.

   ```
   aws lightsail update-container-service --service-name ContainerServiceName --private-registry-access ecrImagePullerRole={isActive=RoleActivationState} --region AwsRegionCode
   ```

   Nel comando sostituisci il seguente testo d'esempio con il proprio testo:
   + *ContainerServiceName*— Il nome del servizio container per il quale attivare o disattivare il ruolo IAM di Amazon ECR image puller.
   + *RoleActivationState*— Lo stato di attivazione del ruolo IAM di Amazon ECR image puller. Specifica `true` per attivare il ruolo oppure `false` per disattivarlo.
   + *AwsRegionCode*— Il Regione AWS codice del servizio container (ad esempio,`us-east-1`).

   Esempi:
   + Per attivare il ruolo IAM di estrazione delle immagini di Amazon ECR:

     ```
     aws lightsail update-container-service --service-name my-container-service --private-registry-access ecrImagePullerRole={isActive=true} --region us-east-1
     ```
   + Per disattivare il ruolo IAM di estrazione delle immagini di Amazon ECR:

     ```
     aws lightsail update-container-service --service-name my-container-service --private-registry-access ecrImagePullerRole={isActive=false} --region us-east-1
     ```

1. Se:
   + **Hai attivato il ruolo di estrazione delle immagini di Amazon ECR**: attendi almeno 30 secondi dopo avere ricevuto la risposta precedente. Quindi, vai alla fase successiva per ottenere l'ARN del principale del ruolo IAM di estrazione delle immagini di Amazon ECR per il tuo servizio di container.
   + **Hai disattivato il ruolo di estrazione delle immagini di Amazon ECR**: se in precedenza hai aggiunto l'ARN del principale del ruolo IAM di estrazione delle immagini di Amazon ECR alla policy di autorizzazione del repository privato di Amazon ECR, devi rimuovere la policy di autorizzazione dal repository. Per ulteriori informazioni, consulta [Eliminazione di un'istruzione di policy di un repository privato](https://docs.aws.amazon.com/AmazonECR/latest/userguide/delete-repository-policy.html) nella *Guida per l'utente di Amazon ECR*.

1. Inserisci il comando seguente per ottenere l'ARN del principale del ruolo IAM di estrazione delle immagini di Amazon ECR per il servizio di container.

   ```
   aws lightsail get-container-services --service-name ContainerServiceName --region AwsRegionCode
   ```

   Nel comando sostituisci il seguente testo d'esempio con il proprio testo:
   + *ContainerServiceName*— Il nome del servizio container per il quale ottenere l'ARN del ruolo principale IAM di Amazon ECR image puller.
   + *AwsRegionCode*— Il Regione AWS codice del servizio container (ad esempio,). `us-east-1`

   Esempio:

   ```
   aws lightsail get-container-services --service-name my-container-service --region us-east-1
   ```

   Cerca l'ARN del principale del ruolo IAM di estrazione delle immagini ECR nella risposta. Se è elencato un ruolo, copialo o prendine nota. Ti occorrerà per la sezione successiva di questa guida. Successivamente, sarà necessario determinare se il repository privato di Amazon ECR a cui vuoi accedere con il servizio di container dispone di un'istruzione di policy esistente. Vai alla sezione [Determinare se il repository privato di Amazon ECR dispone di un'istruzione di policy](#identify-ecr-repo-policy-statement) di questa guida.

### Determinare se il repository privato di Amazon ECR dispone di un'istruzione di policy
<a name="identify-ecr-repo-policy-statement"></a>

Utilizza la procedura seguente per determinare se il repository privato di Amazon ECR dispone di un'istruzione di policy. Puoi usare il AWS CLI `get-repository-policy` comando per Amazon ECR. Per ulteriori informazioni, consulta [update-container-service](https://docs.aws.amazon.com/cli/latest/reference/ecr/get-repository-policy.html) nella *documentazione di riferimento dei comandi della AWS CLI *.

**Nota**  
È necessario installarlo AWS CLI e configurarlo per Amazon ECR prima di poter continuare con questa procedura. Per ulteriori informazioni, consulta [Configurazione con Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/get-set-up-for-amazon-ecr.html) nella *Guida per l'utente di Amazon ECR*.

1. Apri un prompt dei comandi o una finestra del terminale.

1. Inserisci il comando seguente per ottenere l'istruzione di policy per un repository privato specifico.

   ```
   aws ecr get-repository-policy --repository-name RepositoryName --region AwsRegionCode
   ```

   Nel comando sostituisci il seguente testo d'esempio con il proprio testo:
   + *RepositoryName*— Il nome del repository privato per il quale desideri configurare l'accesso per un servizio container Lightsail.
   + *AwsRegionCode*— Il Regione AWS codice dell'archivio privato (ad esempio,). `us-east-1`

   Esempio:

   ```
   aws ecr get-repository-policy --repository-name my-private-repo --region us-east-1
   ```

   Dovresti visualizzare una delle risposte seguenti:
   + **RepositoryPolicyNotFoundException**— Il tuo repository privato non ha una dichiarazione politica. Se il tuo repository non dispone di un'istruzione di policy, segui i passaggi riportati nella sezione [Aggiunta di una policy a un repository privato che non dispone di un'istruzione di policy](#ecr-private-repo-add-policy-no-policy) più avanti in questa guida.  
![\[Risposta al get-repository-policy comando per un repository privato che non dispone di una dichiarazione politica\]](http://docs.aws.amazon.com/it_it/lightsail/latest/userguide/images/ecr-no-policy-statement.png)
   + **A repository policy was found** (È stata rilevata una policy del repository): il repository privato dispone di un'istruzione di policy, che viene visualizzata nella risposta alla richiesta. Se il repository dispone di un'istruzione di policy, copia la policy esistente e quindi segui i passaggi riportati nella sezione [Aggiunta di una policy a un repository privato che dispone di un'istruzione di policy](#ecr-private-repo-add-policy-existing-policy) più avanti in questa guida.  
![\[Risposta al get-repository-policy comando per un archivio privato con una dichiarazione di policy\]](http://docs.aws.amazon.com/it_it/lightsail/latest/userguide/images/ecr-existing-policy-statement.png)

### Aggiunta di una policy a un repository privato che non dispone di un'istruzione di policy
<a name="ecr-private-repo-add-policy-no-policy"></a>

Completa la procedura seguente per aggiungere una policy a un repository privato di Amazon ECR che non dispone di un'istruzione di policy. La policy che aggiungi deve includere l'ARN principale del ruolo principale di Amazon ECR image puller IAM del tuo servizio container Lightsail. Ciò garantisce al servizio container l'accesso per l'implementazione di immagini dal repository privato.

**Importante**  
Lightsail aggiunge automaticamente il ruolo Amazon ECR image puller ai tuoi repository privati Amazon ECR quando utilizzi la console Lightsail per configurare l'accesso. In questo caso, non è necessario che tu aggiunga manualmente il ruolo di estrazione delle immagini di Amazon ECR nei repository privati utilizzando la procedura descritta in questa sezione. Per ulteriori informazioni, consulta [Utilizzare la console Lightsail per gestire l'accesso ai repository privati all'inizio di](#ecr-private-repo-access-lightsail-console) questa guida.

Puoi aggiungere una policy a un repository privato utilizzando la AWS CLI. Per eseguire questa operazione, crea un file JSON contenente la policy, quindi fai riferimento a tale file con il comando `set-repository-policy` per Amazon ECR. Per ulteriori informazioni, consulta [set-repository-policy](https://docs.aws.amazon.com/cli/latest/reference/ecr/set-repository-policy.html) nella *documentazione di riferimento dei comandi della AWS CLI *.

**Nota**  
È necessario installare AWS CLI e configurarlo per Amazon ECR prima di continuare con questa procedura. Per ulteriori informazioni, consulta [Configurazione con Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/get-set-up-for-amazon-ecr.html) nella *Guida per l'utente di Amazon ECR*.

1. Apri un editor di testo e incolla la seguente istruzione policy in un nuovo file di testo.

------
#### [ JSON ]

****  

   ```
   { 
     "Version":"2012-10-17",		 	 	 
     "Statement": [
     {
         "Sid": "AllowLightsailPull-ecr-private-repo-demo",
         "Effect": "Allow",
         "Principal": {
           "AWS": "IamRolePrincipalArn"
         },
         "Action": [
           "ecr:BatchGetImage",
           "ecr:GetDownloadUrlForLayer"
         ]
       }
     ]
   }
   ```

------

   Nel testo, sostituiscilo *IamRolePrincipalArn* con Amazon ECR image puller IAM role principal ARN del tuo servizio container che hai ricevuto in precedenza in questa guida.

1. Salva il file come `ecr-policy.json` in una posizione accessibile sul computer (ad esempio `C:\Temp\ecr-policy.json` su Windows o `/tmp/ecr-policy.json` su macOS o Linux).

1. Prendi nota della posizione del percorso del file `ecr-policy.json` creato. Dovrai specificarlo in un comando in una fase successiva di questa procedura.

1. Apri un prompt dei comandi o una finestra del terminale.

1. Inserisci il comando seguente per impostare l'istruzione di policy per il repository privato a cui desideri accedere con il servizio container.

   ```
   aws ecr set-repository-policy --repository-name RepositoryName --policy-text file://path/to/ecr-policy.json --region AwsRegionCode
   ```

   Nel comando sostituisci il seguente testo d'esempio con il proprio testo:
   + *RepositoryName*— Il nome dell'archivio privato per il quale desideri aggiungere la policy.
   + *path/to/*— Il percorso del `ecr-policy.json` file sul computer creato in precedenza in questa guida.
   + *AwsRegionCode*— Il Regione AWS codice del repository privato (ad esempio,`us-east-1`).

   Esempi:
   + In Windows:

     ```
     aws ecr set-repository-policy --repository-name my-private-repo --policy-text file://C:\Temp\ecr-policy.json --region us-east-1
     ```
   + Su macOS o Linux:

     ```
     aws ecr set-repository-policy --repository-name my-private-repo --policy-text file:///tmp/ecr-policy.json --region us-east-1
     ```

   Il servizio container è ora in grado di accedere al tuo repository privato e alle sue immagini. Per utilizzare un'immagine dal repository, specifica il seguente URI come valore di **Image** (Immagine) per l'implementazione del servizio container. Nell'URI, sostituisci l'esempio *tag* con il tag dell'immagine che desideri distribuire. Per ulteriori informazioni, consulta la pagina [Creazione e gestione delle implementazioni dei servizi di container](amazon-lightsail-container-services-deployments.md).

   ```
   AwsAccountId.dkr.ecr.AwsRegionCode.amazonaws.com/RepositoryName:ImageTag
   ```

   Nell'URI, sostituisci il seguente testo di esempio con il tuo:
   + *AwsAccountId*— Il numero ID AWS del tuo account.
   + *AwsRegionCode*— Il Regione AWS codice del repository privato (ad esempio,`us-east-1`).
   + *RepositoryName*— Il nome del repository privato da cui distribuire un'immagine del contenitore.
   + *ImageTag*— Il tag dell'immagine del contenitore dal repository privato da distribuire sul servizio contenitore.

   Esempio:

   ```
   111122223333.dkr.ecr.us-east-1.amazonaws.com/my-private-repo:myappimage
   ```

### Aggiunta di una policy a un repository privato che dispone di un'istruzione di policy
<a name="ecr-private-repo-add-policy-existing-policy"></a>

Completa la procedura seguente per aggiungere una policy a un repository privato di Amazon ECR che dispone di un'istruzione di policy. La policy che aggiungi deve includere la policy esistente e una nuova policy che contenga l'ARN IAM role principal del servizio container Lightsail di Amazon ECR image puller. Ciò mantiene le autorizzazioni esistenti sul repository privato, garantendo al contempo al servizio container l'accesso per l'implementazione di immagini dal repository privato.

**Importante**  
Lightsail aggiunge automaticamente il ruolo Amazon ECR image puller ai tuoi repository privati Amazon ECR quando utilizzi la console Lightsail per configurare l'accesso. In questo caso, non è necessario che tu aggiunga manualmente il ruolo di estrazione delle immagini di Amazon ECR nei repository privati utilizzando la procedura descritta in questa sezione. Per ulteriori informazioni, consulta [Utilizzare la console Lightsail per gestire l'accesso ai repository privati all'inizio di](#ecr-private-repo-access-lightsail-console) questa guida.

Puoi aggiungere una policy a un repository privato utilizzando la AWS CLI. A tale scopo, crea un file JSON che contiene la policy esistente e la nuova policy. Quindi, fai riferimento a tale file con il comando `set-repository-policy` per Amazon ECR. Per ulteriori informazioni, consulta [set-repository-policy](https://docs.aws.amazon.com/cli/latest/reference/ecr/set-repository-policy.html) nella *documentazione di riferimento dei comandi della AWS CLI *.

**Nota**  
È necessario installarlo AWS CLI e configurarlo per Amazon ECR prima di poter continuare con questa procedura. Per ulteriori informazioni, consulta [Configurazione con Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/get-set-up-for-amazon-ecr.html) nella *Guida per l'utente di Amazon ECR*.

1. Apri un prompt dei comandi o una finestra del terminale.

1. Inserisci il comando seguente per ottenere l'istruzione di policy per un repository privato specifico.

   ```
   aws ecr get-repository-policy --repository-name RepositoryName --region AwsRegionCode
   ```

   Nel comando sostituisci il seguente testo d'esempio con il proprio testo:
   + *RepositoryName*— Il nome del repository privato per il quale desideri configurare l'accesso per un servizio container Lightsail.
   + *AwsRegionCode*— Il Regione AWS codice dell'archivio privato (ad esempio,). `us-east-1`

   Esempio:

   ```
   aws ecr get-repository-policy --repository-name my-private-repo --region us-east-1
   ```

1. Nella risposta, copia la policy esistente e vai alla fase successiva.

   Copia solo il contenuto del `policyText` visualizzato tra le virgolette doppie, come evidenziato nell'esempio seguente.  
![\[Risposta al get-repository-policy comando per un repository privato che non dispone di una dichiarazione politica\]](http://docs.aws.amazon.com/it_it/lightsail/latest/userguide/images/ecr-existing-policy-copy-statement.png)

1. Apri un editor di testo e incolla la policy esistente dal repository privato copiata nel passaggio precedente.

   Il risultato sarà simile al seguente esempio:  
![\[Esempio di file JSON di istruzione di policy\]](http://docs.aws.amazon.com/it_it/lightsail/latest/userguide/images/ecr-existing-policy-statement-json.png)

1. Nel testo che hai incollato, sostituisci `\n` con interruzioni di riga ed elimina il `\` rimanente.

   Il risultato sarà simile al seguente esempio:  
![\[Esempio di file JSON di istruzione di policy modificata\]](http://docs.aws.amazon.com/it_it/lightsail/latest/userguide/images/ecr-existing-policy-statement-json-edited.png)

1. Incolla l'istruzione di policy seguente alla fine del file di testo.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "AllowLightsailPull-ecr-private-repo-demo",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "IamRolePrincipalArn"
               },
               "Action": [
                   "ecr:BatchGetImage",
                   "ecr:GetDownloadUrlForLayer"
               ]
           }
       ]
   }
   ```

------

1. Nel testo, sostituiscilo *IamRolePrincipalArn* con Amazon ECR image puller IAM role principal ARN del tuo servizio container che hai ricevuto in precedenza in questa guida.

   Il risultato sarà simile al seguente esempio:  
![\[Esempio di file JSON di istruzione di policy completa\]](http://docs.aws.amazon.com/it_it/lightsail/latest/userguide/images/ecr-existing-policy-statement-json-completed.png)

1. Salva il file come `ecr-policy.json` in una posizione accessibile sul computer (ad esempio `C:\Temp\ecr-policy.json` su Windows o `/tmp/ecr-policy.json` su macOS o Linux).

1. Prendi nota della posizione del percorso del file `ecr-policy.json`. Dovrai specificarlo in un comando in una fase successiva di questa procedura.

1. Apri un prompt dei comandi o una finestra del terminale.

1. Inserisci il comando seguente per impostare l'istruzione di policy per il repository privato a cui desideri accedere con il servizio container.

   ```
   aws ecr set-repository-policy --repository-name RepositoryName --policy-text file://path/to/ecr-policy.json --region AwsRegionCode
   ```

   Nel comando sostituisci il seguente testo d'esempio con il proprio testo:
   + *RepositoryName*— Il nome dell'archivio privato per il quale desideri aggiungere la policy.
   + *path/to/*— Il percorso del `ecr-policy.json` file sul computer creato in precedenza in questa guida.
   + *AwsRegionCode*— Il Regione AWS codice del repository privato (ad esempio,`us-east-1`).

   Esempi:
   + In Windows:

     ```
     aws ecr set-repository-policy --repository-name my-private-repo --policy-text file://C:\Temp\ecr-policy.json --region us-east-1
     ```
   + Su macOS o Linux:

     ```
     aws ecr set-repository-policy --repository-name my-private-repo --policy-text file:///tmp/ecr-policy.json --region us-east-1
     ```

   La risposta dovrebbe essere analoga all'esempio seguente.  
![\[Risposta al comando set-repository-policy\]](http://docs.aws.amazon.com/it_it/lightsail/latest/userguide/images/ecr-set-policy-statement-response.png)

   Se esegui di nuovo il comando `get-repository-policy`, dovresti vedere la nuova istruzione di policy aggiuntiva sul tuo repository privato. Il servizio container è ora in grado di accedere al tuo repository privato e alle sue immagini. Per utilizzare un'immagine dal repository, specifica il seguente URI come valore di **Image** (Immagine) per l'implementazione del servizio container. Nell'URI, sostituisci l'esempio *tag* con il tag dell'immagine che desideri distribuire. Per ulteriori informazioni, consulta la pagina [Creazione e gestione delle implementazioni dei servizi di container](amazon-lightsail-container-services-deployments.md).

   ```
   AwsAccountId.dkr.ecr.AwsRegionCode.amazonaws.com/RepositoryName:ImageTag
   ```

   Nell'URI, sostituisci il seguente testo di esempio con il tuo:
   + *AwsAccountId*— Il numero ID AWS del tuo account.
   + *AwsRegionCode*— Il Regione AWS codice del repository privato (ad esempio,`us-east-1`).
   + *RepositoryName*— Il nome del repository privato da cui distribuire un'immagine del contenitore.
   + *ImageTag*— Il tag dell'immagine del contenitore dal repository privato da distribuire sul servizio contenitore.

   Esempio:

   ```
   111122223333.dkr.ecr.us-east-1.amazonaws.com/my-private-repo:myappimage
   ```