Domande frequenti su Container Registry
Trova le risposte alle domande più frequenti su Container Registry, tra cui come impostare gli spazi dei nomi, gestire le immagini e configurare gli accessi.
Per le domande più frequenti su come gestire la sicurezza e le vulnerabilità delle immagini utilizzando Vulnerability Advisor, vedere Domande frequenti per Vulnerability Advisor.
Dove si trova la documentazione di riferimento per Container Registry?
La documentazione di riferimento per IBM Cloud Container Registry è disponibile nella documentazione di IBM Cloud. Per ulteriori informazioni, vedere Informazioni su Container Registry e Container Registry CLI.
Come si configura la CLI di Container Registry?
Per configurare l'interfaccia a riga di comando (CLI) IBM Cloud Container Registry, procedere come segue:
- Assicurarsi che la CLI di IBM Cloud sia installata. Per verificare che sia installato, eseguire il comando
ibmcloud help. - Installate il plug-in
container-registryCLI eseguendo il comandoibmcloud plugin install container-registry. - Accedi a IBM Cloud con il comando
ibmcloud login. - Per verificare l'installazione, controllare la versione corrente del plug-in
container-registryCLI con il comandoibmcloud plugin list.
Ora è possibile usare la CLI di IBM Cloud Container Registry per gestire il registro e le sue risorse per l'account IBM Cloud.
Per ulteriori informazioni, vedere Impostazione della CLI e dello spazio dei nomi di Container Registry e Introduzione a Container Registry.
Perché ibmcloud cr non è un comando noto?
Se si riceve un messaggio che indica che ibmcloud cr non è un comando registrato, il plug-in container-registry CLI non è installato o non è aggiornato. Per assistenza, vedere Perché i comandi Container Registry(ibmcloud cr)falliscono con un messaggio che indica che non sono registrati?
Se si verificano problemi con un comando non registrato, è probabile che non si disponga della versione più recente del plug-in. Per ulteriori informazioni su come aggiornare la CLI Container Registry, vedere Aggiornamento del plug-in container-registry CLI.
Come si configura il firewall per consentire le connessioni a Container Registry?
È possibile utilizzare un firewall Layer 7 con i domini elencati in Accesso a Container Registry attraverso un firewall o utilizzare una rete privata virtuale(VPN).
Qual è il nome del mio spazio dei nomi?
Per conoscere i nomi dei namespace, eseguire il comando ibmcloud cr namespace-list.
È inoltre possibile utilizzare l'API per elencare i namespace utilizzando il metodo GET /api/v1/namespaces.
Per ulteriori informazioni sugli spazi dei nomi, vedere Spazio dei nomi del registro. Per pianificare gli spazi dei nomi, vedere Pianificazione degli spazi dei nomi.
Quanti spazi dei nomi si possono avere?
Puoi avere 100 spazi dei nomi del registro in ogni regione.
Posso rinominare uno spazio dei nomi?
Non è possibile rinominare uno spazio dei nomiUna raccolta di repository che memorizzano le immagini in un registro. Uno spazio dei nomi è associato a un account IBM Cloud , che può includere più spazi dei nomi.. Se si desidera cambiare il nome dello spazio dei nomi, è necessario creare uno spazio dei nomi con il nuovo nome e trasferirne i dati. Per trasferire i dati, è possibile copiare il contenuto dello spazio dei nomi esistente nello spazio dei nomi creato.
Se non si desidera trasferire i dati manualmente, è possibile creare uno script per questa azione utilizzando il comando ibmcloud cr image-tag comando.
Ad esempio, si può usare il seguente script, dove OLD_NAMESPACE è lo spazio dei nomi esistente e NEW_NAMESPACE è lo spazio dei nomi creato:
IMAGES=$(icr images --restrict OLD_NAMESPACE --format "{{ .Repository }}:{{ .Tag }}")
for i in $IMAGES ; do
new=$(echo $i | sed "s|/OLD_NAMESPACE/|/NEW_NAMESPACE/|1")
ibmcloud cr image-tag $i $new
done
Perché non ho l'autorizzazione a creare uno spazio dei nomi?
Il messaggio di errore You are not authorized to access the specified resource. indica che non si dispone delle autorizzazioni necessarie per lavorare con gli spazi dei nomi.
Per assistenza, vedere Perché non sono autorizzato ad accedere a una risorsa specifica in Container Registry?
Perché non riesco a creare uno spazio dei nomi?
Se si riscontrano problemi quando si cerca di aggiungere uno spazio dei nomi in Container Registry, la causa potrebbe essere una delle seguenti:
- I caratteri non validi sono inclusi nello spazio dei nomi.
- Lo spazio dei nomi è già in uso.
- Si sta riutilizzando uno spazio dei nomi che è stato cancellato di recente.
- Non disponi delle autorizzazioni necessarie per creare uno spazio dei nomi.
Per assistenza, vedere Perché non riesco ad aggiungere uno spazio dei nomi in Container Registry?
Come si elimina uno spazio dei nomi?
Se non hai più bisogno di uno spazio dei nomi del registro, puoi rimuoverlo dal tuo account IBM Cloud. Per ulteriori informazioni, vedi Rimozione degli spazi dei nomi.
Quando rimuovi uno spazio dei nomi, vengono eliminate anche tutte le immagini memorizzate in tale spazio dei nomi. Questa azione non può essere annullata.
Come si accede ai namespace di Container Registry?
È possibile accedere agli spazi dei nomi di IBM Cloud Container Registry in diversi modi, a seconda del caso d'uso. È possibile creare, visualizzare, modificare ed eliminare gli spazi dei nomi nella console IBM Cloud o nella CLI IBM Cloud. È possibile spingere e tirare le immagini utilizzando strumenti di terze parti, come ad esempio Docker, Podman, Skopeo, ORAS, regctl e Crane. È inoltre possibile utilizzare gli SDK di IBM Cloud per manipolare il registro.
- Autenticazione dell'automazione con credenziali di lunga durata
- Utilizzare le chiavi API (chiavi API utente o chiavi API ID servizio) con i criteri di accesso IAM. Le chiavi API sono il metodo preferito per l'automazione e i cluster Kubernetes. Per ulteriori informazioni, vedere Accesso ai namespace nell'automazione.
- Autenticazione dell'accesso interattivo
- Il comando
ibmcloudutilizza i token di aggiornamento IAM per l'accesso alla sessione quando si lavora interattivamente con il registro. È possibile utilizzare il comandoibmcloud cr loginper impostare l'accesso al token di aggiornamento con Docker, Podman e altri client. Per ulteriori informazioni, vedere Accesso interattivo agli spazi dei nomi.
Tutti i metodi di accesso richiedono politiche di accesso IAM appropriate. Per ulteriori informazioni sull'impostazione dei criteri di accesso, vedere Definizione dei criteri di accesso IAM.
Come si ottengono le credenziali di estrazione delle immagini per Container Registry?
Per le credenziali a lunga durata, si desidera una chiave API associata a un ID di servizio o a un ID utente che abbia il permesso di lettura IAM sullo spazio dei nomi che contiene l'immagine. Una chiave API utente è associata a un utente e alle relative politiche di accesso. Ogni chiave API di identificazione del servizio è soggetta a politiche di accesso specifiche. È possibile creare manualmente le chiavi API dell'ID servizio e le chiavi API utente nella console IBM Cloud e nella CLI. Per ulteriori informazioni sulle chiavi API, vedi Descrizione delle chiavi API.
Per motivi di sicurezza, la chiave API è disponibile per essere copiata o scaricata solo durante la fase di creazione. Se la chiave API viene persa, dovrai crearne una nuova.
È possibile creare chiavi API utente e chiavi API ID servizio nella console IBM Cloud, nell'interfaccia a riga di comando (CLI), nell'API e in Terraform. Per ulteriori informazioni sulla creazione di chiavi API, vedere Gestione delle chiavi API utente e Gestione delle chiavi API ID servizio.
Per ulteriori informazioni su come accedere a Container Registry, vedere Accesso a Container Registry.
Come si elencano i nomi delle immagini?
Per elencare tutte le immagini presenti nell'account IBM Cloud, è possibile eseguire il comando ibmcloud cr images, che visualizza tutte le immagini taggate nell'account IBM Cloud con un digest troncato. Se vuoi visualizzare l'elenco
completo di tutte le tue immagini, comprese quelle senza tag, esegui il comando ibmcloud cr image-digests. Il nome dell'immagine è nel formato repository@digest o repository:tag. I valori di repository,
digest e tag vengono restituiti quando si eseguono i comandi.
Per ulteriori informazioni, consultare ibmcloud cr image-list(ibmcloud cr images) e ibmcloud cr image-digests(ibmcloud cr digests).
Come elenchi le immagini pubbliche?
Per elencare le immagini pubbliche, esegui questi comandi ibmcloud per indicare come destinazione il registro globale ed elencare le immagini pubbliche fornite da IBM:
- Impostare la regione su globale (
icr.io) eseguendo il comandoibmcloud cr region-sete inserendoglobalcome regione.
ibmcloud cr region-set global
- Elencare le immagini pubbliche eseguendo il comando
ibmcloud cr imagescon l'opzione--include-ibm.
ibmcloud cr images --include-ibm
Perché le richieste a Container Registry si interrompono mentre si utilizza la CLI di IBM Cloud?
Il problema del timeout quando si usa la CLI di IBM Cloud con Container Registry potrebbe essere dovuto alla presenza di molte immagini nell'account. Per risolvere questa situazione, è possibile utilizzare il comando ibmcloud cr image-list con l'opzione --restrict per restringere la portata dell'elenco e migliorare le prestazioni. In alternativa, se non sono necessari rapporti di vulnerabilità, utilizzare il comando ibmcloud cr image-list con l'opzione
--no-va. Per gestire il numero di immagini, si può pensare di ripulire gli spazi dei nomi. Per ulteriori informazioni, vedere Pulizia degli spazi dei nomi in Container Registry.
Se state seguendo le istruzioni per iniziare, queste presuppongono che siate nel vostro account con l'autorizzazione a fare tutto. Se siete membri di un account di proprietà e amministrato da qualcun altro, potreste non avere le autorizzazioni corrette per configurare e gestire il servizio di registro. Chiedete all'amministratore di aggiungervi a un criterio di accesso esistente o di creare un criterio di accesso che vi dia il ruolo di accesso al servizio corretto per lavorare con Container Registry. Per ulteriori informazioni, vedere Perché non riesco a iniziare con Container Registry? per assistenza.
Se i comandi di Container Registry falliscono con un errore che indica che non sono registrati, installare il plug-in container-registry CLI. Inoltre, assicurarsi che il plug-in ibmcloud CLI e il plug-in container-registry CLI siano entrambi aggiornati. Se si desidera utilizzare tutti i comandi e le opzioni disponibili, è necessario mantenere aggiornata la CLI. Per verificare la versione attuale dei plug-in della CLI, eseguire il comando ibmcloud plugin list.
Per assistenza, vedere Perché ibmcloud cr non è un comando noto?
Quali strumenti posso utilizzare per costruire e spingere le immagini?
È possibile utilizzare gli strumenti Docker e non Docker per creare e inviare immagini al registro. Puoi utilizzare strumenti nonDocker che supportano il formato e protocollo OCI container imageUn'immagine del contenitore conforme alla specifica OCI Image Format. Per accedere utilizzando altri client, vedere Accesso interattivo ai namespace.
Come si accede a Container Registry con Podman?
Per accedere a IBM Cloud Container Registry utilizzando Podman, si può utilizzare il seguente comando podman login DOMAIN_NAME -u iamapikey -p PASSWORD. Sostituire DOMAIN_NAME con il nome del dominio, ad esempio icr.io,
e sostituire PASSWORD con la chiave API IAM.
Se si preferisce non usare una chiave API, si può usare il seguente comando per accedere con un token di aggiornamento utente ibmcloud cr login --client podman.
Per ulteriori informazioni, vedere Utilizzo di Podman per l'autenticazione con il Registro di sistema, Utilizzo di Podman per l'autenticazione con il Registro di sistema utilizzando profili attendibili,
e ibmcloud cr login.
Le immagini nel cestino contano per la mia quota?
Le immagini che finiscono nel cestino non contano ai fini della quota.
Come si svuota il cestino in " Container Registry "?
Non è possibile eliminare le immagini dal cestino. Le immagini vengono archiviate nel cestino per 30 giorni. Le immagini presenti nel cestino non vengono addebitate.
È possibile verificare quali immagini si trovano nel cestino eseguendo il ibmcloud cr trash-list comando.
Come posso trovare l'image digest?
È possibile trovare il formato lungo dell'immagine digest eseguendo uno dei seguenti comandi. Il digest viene visualizzato nella colonna Digest della CLI.
Quando si utilizza il digest per identificare un'immagine, utilizzare sempre il formato lungo.
È possibile eseguire uno dei seguenti comandi per ottenere la forma lunga del digest dell'immagine:
-
Eseguire il comando
ibmcloud cr image-digests:ibmcloud cr image-digests -
Eseguire il
ibmcloud cr image-listcon l'opzione--no-trunc:ibmcloud cr image-list --no-truncSe si esegue il comando
ibmcloud cr image-listsenza l'opzione--no-trunc, viene visualizzato il formato troncato del digest.
Come si utilizzano i digest per lavorare con le immagini?
Il digest identifica un'immagine utilizzando l'hash sha256 del manifesto dell'immagine.
Per trovare i digest per la tua immagine, esegui il comando ibmcloud cr image-digests. È possibile fare riferimento a un'immagine utilizzando una combinazione
del contenuto della colonna Repository (repository) e della colonna Digest (digest) separate da un simbolo at (@) per creare il nome dell'immagine nel formato repository@digest.
Perché non è possibile spingere l'immagine in Container Registry?
Potrebbero verificarsi problemi durante l'estrazione o l'invio di immagini a Container Registry a causa di vari motivi, come il superamento della quota di archiviazione delle immagini o del traffico di estrazione, o credenziali non valide. Per risolvere questo problema, accedere a IBM Cloud e alla CLI di IBM Cloud Container Registry, rivedere i limiti di quota e l'utilizzo e considerare l'aggiornamento a un piano standard se si dispone di un piano gratuito.
Per assistenza, vedere Perché non è possibile spingere o tirare un'immagine Docker quando si usa Container Registry?
Come posso elencare le immagini che risalgono a più di un anno fa?
LinuxmacOS Su Linux® e macOS, se si desidera elencare tutte le immagini, sia taggate che non taggate, create più di un anno fa, è possibile eseguire il seguente comando:
year=$(($(date +%s) - 31556952))
ibmcloud cr digests --format '{{ if (lt .Created '$year')}}{{.Repository}}:{{.Digest}}{{end}}'
Come si utilizza il controllo degli accessi?
Puoi creare delle politiche IBM Cloud Identity and Access Management (IAM) per controllare l'accesso ai tuoi spazi dei nomi in IBM Cloud Container Registry. Per ulteriori informazioni, vedi Concessione accesso a IBM Cloud Container Registry risorse tutorial e Gestione dell'accesso IAM per Container Registry.
È possibile eseguire il push delle immagini su un account diverso da quello che sta eseguendo la pipeline di creazione?
È possibile inviare le immagini a IBM Cloud Container Registry su un account IBM Cloud diverso da quello che sta eseguendo la pipeline di compilazione, utilizzando i seguenti passaggi.
- Creare una chiave API nell'account IBM Cloud di destinazione con i criteri di accesso necessari per consentire il push delle immagini nello spazio dei nomi richiesto.
- Memorizzare la chiave API e lo spazio dei nomi di destinazione nella configurazione della pipeline di compilazione.
- Modificare lo script della pipeline di compilazione per utilizzare la chiave API e lo spazio dei nomi di destinazione quando si inviano le immagini a Container Registry. Questa azione fa sì che la pipeline di compilazione si autentichi e spinga le immagini nello spazio dei nomi specificato nell'account IBM Cloud di destinazione.
Per ulteriori informazioni, vedere Spingimento di immagini tramite una chiave API e Accesso a Container Registry.
Quali ruoli devo avere per poter spingere e tirare le immagini?
Per estrarre o spingere un'immagine, è necessario avere il ruolo di writer o di manager. Per ulteriori informazioni, vedere Ruoli di accesso per l'utilizzo di Container Registry.
Ci sono immagini non contrassegnate?
Per scoprire se hai delle immagini senza tag, elenca le tue immagini eseguendo il comando ibmcloud cr image-digests.
Le immagini senza tag hanno un trattino (-) nella colonna Tag.
Ho bisogno di immagini non etichettate?
Se hai dei contenitori attivi che stanno eseguendo immagini senza tag, devi conservare le immagini senza tag. Se si eliminano immagini non contrassegnate in uso, si possono causare problemi di ridimensionamento o di riavvio automatico. L'eliminazione di immagini non contrassegnate potrebbe causare un problema nelle seguenti circostanze:
- L'immagine è stata distribuita utilizzando il digest come riferimento. Ad esempio, IBM Cloud Code Engine risolve e utilizza un digest dell'immagine quando serve le applicazioni, vedere Distribuzione di carichi di lavoro di applicazioni da immagini in un registro pubblico.
- Il riferimento all'immagine è stato modificato da un servizio webhook, come ad esempio Portieris.
Come si fa a controllare quali immagini non contrassegnate verranno rimosse dal comando ibmcloud cr image-prune-untagged ?
Non è possibile eseguire un'esecuzione a secco del comando ibmcloud cr image-prune-untagged comando. Tuttavia, è possibile visualizzare tutte
le immagini taggate e non taggate eseguendo il comando ibmcloud cr image-digests il comando. Se si desidera visualizzare solo le immagini non contrassegnate,
è possibile eseguire il comando ibmcloud cr image-digests con la formattazione in linguaggio Go, vedere Esempio di comando Go format per ibmcloud cr image-digests.
È quindi possibile verificare se si desidera rimuovere queste immagini non contrassegnate prima di eseguire il comando ibmcloud cr image-prune-untagged.
Come posso ripristinare un'immagine rimossa per sbaglio?
Se si desidera ripristinare un'immagine cancellata, è possibile trovare l'immagine elencando il contenuto del cestino con il comando ibmcloud cr trash-list il comando. Ripristinare l'immagine selezionata eseguendo il comando ibmcloud cr image-restore comando. Le immagini vengono archiviate nel cestino
per 30 giorni.
Quali sono le immagini ammissibili?
Se si puliscono le immagini utilizzando i criteri di conservazione, vengono pulite solo le immagini idonee. Le immagini che vengono sempre conservate sono le immagini Cloud Native Buildpacks e Google senza distro con la data di compilazione impostata su una specifica costante anziché sull'ora di compilazione reale o senza alcun timestamp di compilazione e gli elenchi di manifesti. Le immagini che vengono sempre conservate non sono ammissibili.
Le immagini non idonee vengono comunque visualizzate, ma non vengono conteggiate nel numero totale di immagini impostato nella politica di conservazione e non vengono rimosse.
Le immagini create prima di 2013-01-19T00:13:39Z sono escluse dalla valutazione dei criteri di conservazione.
Per ulteriori informazioni, consultare la sezione Pianificazione della conservazione.
Cosa posso usare per firmare le immagini in Container Registry?
Container Registry supporta le immagini firmate con le firme Red Hat o con il cosign. È possibile utilizzare vari strumenti, come Skopeo, Podman e la CLI Red Hat OpenShift, per creare firme Red Hat per le immagini. Puoi archiviare le tue immagini firmate per contenuti attendibili utilizzando l'API con estensione Red Hat Signatures, la quale è supportata da IBM Cloud Container Registry. Per ulteriori informazioni sulla firma delle immagini, consultare la sezione " Firma delle immagini per contenuti attendibili" all'indirizzo Container Registry.
In quale regione mi trovo?
Per determinare la regione attualmente in uso, è possibile utilizzare il comando ibmcloud cr region nella CLI. Questo comando visualizza l'area interessata
e il registro di sistema. In alternativa, si può anche controllare la console in cui è distribuita l'istanza per scoprire la regione. Per ulteriori informazioni, vedi Regioni.
Quali regioni sono disponibili?
Per saperne di più sulle regioni disponibili per IBM Cloud Container Registry, vedere Regioni.
Come si cambia la regione o il registro?
Per modificare la regione e il registro, è necessario accedere a IBM Cloud e utilizzare il comando ibmcloud cr region-set REGION dove REGION è il nome della regione che si desidera utilizzare, ad esempio global, au-syd e jp-tok. Questo comando imposta il plug-in container-registry CLI come target del registro regionale specificato.
Ad esempio, per modificare il registro in uk.icr.io, che si trova nella regione eu-gb, eseguire i seguenti passaggi.
- Accedi a IBM Cloud utilizzando il seguente comando.
ibmcloud login
- Eseguire il comando
ibmcloud cr region-setper impostare la regione e il registro inserendoeu-gbcome regione:
ibmcloud cr region-set eu-gb
È possibile utilizzare anche il nome del registro (ad esempio, uk.icr.io) o il nome precedente della regione (ad esempio, uk-south invece di eu-gb).
Ricevi la seguente risposta:
The region is set to 'uk-south', the registry is 'uk.icr.io'.
Per saperne di più sulle regioni disponibili per IBM Cloud Container Registry, vedere Regioni.
Come si fa a far sì che il comando docker pull restituisca la versione più recente?
Per trovare l'immagine più recente, eseguire il comando ibmcloud cr image-list anziché il comando docker pull. Per facilitare la ricerca dell'immagine più recente, definire ogni volta un tag sequenziale diverso per
le immagini e non affidarsi al tag latest.
Per assistenza, vedere Perché non è possibile estrarre l'immagine più recente usando il tag latest in Container Registry?
Perché i miei pod falliscono con un errore ImagePullBackOff ?
L'errore è probabilmente causato da una delle seguenti situazioni:
- Il cluster utilizza una chiave API memorizzata in un segreto di recupero delle immagini per autorizzare il cluster a recuperare immagini da IBM Cloud Container Registry.
- L'immagine con il tag specifico non esiste nel repository.
Per risolvere l'errore, verificare le seguenti potenziali cause.
- Verificare che il nome e il tag dell'immagine siano corretti.
- Verificare che le quote di traffico e di archiviazione siano sufficienti.
- Verificare se nel proprio spazio dei nomi è presente un segreto di estrazione delle immagini.
Per ulteriori informazioni, vedere Perché le immagini non riescono a essere estratte dal Registro di sistema con errori di ImagePullBackOff o di autorizzazione?
Perché ricevo un errore di quota superata?
È stata superata la quota di archiviazione delle immagini o di traffico di pull del proprio account per il mese in corso. Per risolvere questo problema, potete rivedere i vostri limiti di quota e aumentarli se necessario, oppure, se avete un piano Lite, passare al piano standard.
Per ulteriori informazioni, consultare Perché si verificano errori relativi alla quota in Container Registry e Rimanere entro i limiti della quota.
Come elimino IBM Cloud Container Registry?
Se non si desidera più utilizzare Container Registry, è possibile eliminarlo disinstallando il plug-in container-registry CLI. Per ulteriori informazioni, vedere Disinstallazione del plug-in container-registry CLI.