Creazione di un lavoro da immagini in un registro privato

Crea il tuo processo che utilizzi un'immagine presente in un registro privato, come ad esempio l'Hub privato di Docker. È possibile creare un processo dalla console o tramite la CLI.

Prima di iniziare

  • Per estrarre le immagini da un registro privato, devi prima creare un registro privato. Ad esempio, per creare un registro hub Docker privato, vedi la documentazione diDocker Hub.
  • Dopo aver creato un registro privato, esegui il push di un'immagine.
  • Puoi anche configurare un token di accesso. Utilizzando un token di accesso, puoi concedere e revocare più facilmente l'accesso al tuo account hub Docker senza richiedere una modifica della password. Per ulteriori informazioni sui token di accesso e su Docker Hub, vedere Creare e gestire i token di accesso.

Creazione di un lavoro che fa riferimento a un'immagine in un registro privato con la console

Creare una configurazione di processo che utilizzi un'immagine presente in un registro privato tramite la console Code Engine.

Prima di poter utilizzare un lavoro Code Engine che fa riferimento a un'immagine in un registro privato, devi prima aggiungere l'accesso al registro in modo che Code Engine possa eseguire il pull dell'immagine quando viene eseguito il lavoro.

  1. Apri la console Code Engine.
  2. Seleziona " Inizia a creare ".
  3. Seleziona un progetto dall'elenco dei progetti disponibili. È anche possibile crearne uno nuovo. Per creare un job, è necessario disporre di un progetto selezionato.
  4. Selezionare Lavoro.
  5. Inserisci un nome per il processo; ad esempio, “ myjob ”.
  6. Selezionare " Usa un'immagine container esistente " e fare clic su " Configura immagine ".
  7. Immettere docker.io per Server di registro.
  8. Per Segreto registro, selezionare Crea segreto registro.
  9. Dalla pagina Crea segreto del registro, scegliere l'origine del registro. Ad esempio, l'Hub " Docker ".
  10. Dalla pagina Crea segreto di registro, immettere un nome utente. Per Docker Hub, è il tuo ID Docker.
  11. Nella pagina "Crea chiave di registro", inserisci il token di accesso. Per Docker Hub, puoi utilizzare la tua password o un token di accesso Docker Hub. Per ulteriori informazioni sui token di accesso e su Docker Hub, vedere Creare e gestire i token di accesso.
  12. Fai clic su Crea per aggiungere il segreto di registro per Code Engine.
  13. Dalla pagina Configura immagine, viene elencato il segreto di registro che è stato aggiunto. Selezionare il segreto di registro per l'immagine.
  14. Seleziona lo spazio dei nomi e il nome dell'immagine in Docker Hub per il job Code Engine di riferimento. Ad esempio, seleziona mynamespace e seleziona l'immagine testjob in quel namespace.
  15. Selezionare un valore per Tag; ad esempio, latest.
  16. Fai clic su Done. Hai selezionato la tua immagine nel registro a cui fare riferimento dal tuo lavoro.
  17. Modificare i valori predefiniti per le variabili di ambiente o le impostazioni di runtime. Per ulteriori informazioni su queste opzioni, consultare Opzioni per creare ed eseguire un lavoro.
  18. Dalla pagina Crea lavoro, fare clic su Crea.
  19. Dopo che il tuo lavoro è stato creato, viene aperta la pagina del lavoro per il tuo lavoro specifico. Dalla pagina del lavoro, fare clic su Inoltra lavoro per inoltrare un lavoro in base alla configurazione corrente.

Per aggiungere l'accesso al Registro di sistema prima di creare una configurazione lavoro, consultare Accesso ai registri del contenitore.

Creazione di un lavoro con un'immagine da un registro privato con CLI

Per creare una configurazione del lavoro con un'immagine da un registro privato con CLI, utilizza il comando job create. Questo comando richiede un nome e un'immagine e consente anche altri argomenti facoltativi. Per un elenco completo delle opzioni, consultare il comando ibmcloud ce job create.

Prima di iniziare

  • Imposta il tuo ambiente CLICode Engine.
  • Creare e utilizzare un progetto.
  • Prima di poter lavorare con un lavoro Code Engine che fa riferimento ad un'immagine in un registro privato, devi prima aggiungere l'accesso al registro, estrarre l'immagine e quindi creare la tua configurazione del lavoro.
  1. Per estrarre le immagini da un registro privato, devi prima creare un registro privato. Ad esempio, per creare un registro hub Docker privato, vedi la documentazione diDocker Hub. Dopo aver creato un registro privato, esegui il push di un'immagine. Puoi anche configurare un token di accesso. Utilizzando un token di accesso, puoi concedere e revocare più facilmente l'accesso al tuo account hub Docker senza richiedere una modifica della password. Per ulteriori informazioni sui token di accesso e su Docker Hub, vedere Creare e gestire i token di accesso.

  2. Aggiungi l'accesso al tuo registro privato per eseguire il pull delle immagini. Per aggiungere l'accesso a un registro privato con la CLI, utilizza il comando ibmcloud ce secret create --format registry per creare un segreto di registro. Ad esempio, il seguente comando crea l'accesso al Registro di sistema a un registro hub Docker denominato privatedocker che si trova in https://index.docker.io/v1/ e utilizza il tuo nome utente e la tua password.

    ibmcloud ce secret create --format registry --name privatedocker --server https://index.docker.io/v1/ --username <Docker_User_Name> --password <Password>
    

    Output di esempio

    Creating registry secret 'privatedocker'...
    OK
    
  3. Crea la configurazione del tuo lavoro e fai riferimento all'immagine nel registro hub Docker privato. Ad esempio, creare la configurazione del job mytestjob per fare riferimento a docker.io/privaterepo/testjob utilizzando le privatedocker informazioni di accesso.

    ibmcloud ce job create --name mytestjob --image docker.io/privaterepo/testjob --registry-secret privatedocker
    

Il formato del nome dell'immagine per questo lavoro è REGISTRY/NAMESPACE/REPOSITORY:TAG dove REGISTRY e TAG sono facoltativi. Se non viene specificato REGISTRY, il valore predefinito è docker.io. Se non viene specificato TAG, il valore predefinito è latest.

Passi successivi

  • Dopo aver creato il lavoro, inoltrare il lavoro per eseguirlo. Vedere Esecuzione di un lavoro. È possibile eseguire il lavoro più volte.

  • Dopo aver eseguito il lavoro, per visualizzare i dettagli del lavoro e delle esecuzioni del lavoro, consultare dettagli del lavoro di accesso.

  • Ora che il tuo lavoro è stato creato, considera di rendere i tuoi lavori guidati da eventi. Utilizzando le sottoscrizioni agli eventi, puoi attivare i tuoi lavori mediante pianificazioni periodiche o impostare il lavoro in modo che reagisca agli eventi come i caricamenti di file.

  • È possibile aggiornare il lavoro e il relativo codice di riferimento in qualsiasi dei seguenti modi, indipendentemente dal modo in cui è stato creato o precedentemente aggiornato il lavoro.

    • Se hai un'immagine del contenitore, in base allo standard OCI(Open Container Initiative), devi fornire solo un riferimento all'immagine, che punta all'ubicazione del tuo registro del contenitore quando crei (o aggiorni) il tuo lavoro. Puoi creare (o aggiornare) il tuo lavoro dalle immagini in un registro pubblico o in un Registro privato e quindi accedere all'immagine di riferimento dalla tua esecuzione del lavoro.

      Se hai creato il tuo lavoro utilizzando il comando job create e hai specificato l'opzione --build-source per creare l'immagine del contenitore dall'origine del repository o locale e vuoi modificare il tuo lavoro in modo che punti a un'altra immagine del contenitore, devi prima rimuovere l'associazione della build dal tuo lavoro. Ad esempio, eseguire ibmcloud ce job update -n JOB_NAME --build-clear. Dopo aver rimosso l'associazione della build dal tuo lavoro, puoi aggiornare il lavoro per fare riferimento a un'immagine diversa.

    • Se stai iniziando con il codice sorgente che risiede in un repository Git, puoi scegliere di consentire a Code Engine di creare l'immagine dalla tua origine e creare (o aggiornare) il lavoro con una singola operazione. In questo scenario, Code Engine carica la tua immagine in IBM Cloud® Container Registry. Per ulteriori informazioni, consultare Creazione di un lavoro dal codice sorgente del repository. Se vuoi avere un maggiore controllo sulla build della tua immagine, puoi scegliere di creare l'immagine con Code Engine prima di creare (o aggiornare) il tuo lavoro ed eseguirlo.

    • Se stai iniziando con il codice di origine che risiede su una workstation locale, puoi scegliere di consentire a Code Engine di creare l'immagine dalla tua origine e creare il lavoro con un singolo comando CLI. In questo scenario, Code Engine carica la tua immagine in IBM Cloud® Container Registry. Per ulteriori informazioni, vedi Creazione del tuo lavoro dal codice sorgente locale con la CLI. Se vuoi avere un maggiore controllo sulla build della tua immagine, puoi scegliere di creare l'immagine con Code Engine prima di creare (o aggiornare) il tuo lavoro ed eseguirlo.

    Ad esempio, potresti scegliere di lasciare che Code Engine gestisca la creazione della tua origine locale mentre evolvi lo sviluppo della tua origine per il lavoro. Quindi, una volta maturata l'immagine, puoi aggiornare il job per fare riferimento all'immagine specifica che desideri. È possibile ripetere questo processo in base alle necessità.

    Quando esegui il tuo job aggiornato, per l'esecuzione del job viene utilizzata l'ultima versione della tua immagine del contenitore di riferimento, a meno che non venga specificata una tag per l'immagine. Se viene specificato un tag per l'immagine, l'immagine con tag viene utilizzata per l'esecuzione del lavoro.

Cerchi altri esempi di codice? Dai un'occhiata agli esempi disponibili nel repository " IBM Cloud Code Engine " su GitHub.