Distribuzione dei carichi di lavoro dell'app dalle immagini in un registro privato

Distribuisci la tua applicazione con Code Engine che utilizza un'immagine nel registro privato come Docker Hub privato. Puoi creare un'app dalla console o con 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.

Distribuzione di un'applicazione che fa riferimento a un'immagine in un registro privato con la console

Distribuisci un'applicazione che utilizza un'immagine in un registro privato con la console Code Engine.

Prima di poter utilizzare un'applicazione Code Engine che fa riferimento a un'immagine in un registro privato, devi prima aggiungere l'accesso al registro, estrarre l'immagine e quindi distribuirla.

  1. Apri la console Code Engine.
  2. Seleziona Let' s go.
  3. Selezionare l'applicazione.
  4. Inserite un nome per l'applicazione, ad esempio helloapp. Utilizzate un nome per la vostra applicazione che sia unico all'interno del progetto.
  5. Selezionare un progetto dall'elenco dei progetti disponibili. È anche possibile crearne uno nuovo. È necessario disporre di un progetto selezionato per distribuire un'applicazione.
  6. Seleziona immagine contenitore e fai 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, Docker Hub.
  10. Immettere un nome utente. Per Docker Hub, è il tuo ID Docker.
  11. Immettere la password. 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 un segreto del 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 l'applicazione Code Engine a cui fare riferimento. Ad esempio, seleziona mynamespace e seleziona l'immagine hello_repo 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 dalla tua app.
  17. Modifica le impostazioni di runtime o le variabili di ambiente per la tua applicazione. Per ulteriori informazioni su queste opzioni, consulta Opzioni per la visibilità dell'endpoint delle applicazioni e Opzioni per la distribuzione di un'applicazione.
  18. Dalla pagina Crea applicazione, fare clic su Crea.
  19. Una volta modificato lo stato dell'applicazione in Pronto, è possibile verificare l'applicazione. Fare clic su Applicazione di test, quindi fare clic su Invia richiesta nel riquadro Applicazione di test. Per aprire l'applicazione in una pagina web, fare clic su Applicazione URL.

Ora che hai distribuito la tua applicazione, puoi visualizzare le informazioni sulle revisioni dell'applicazione e qualsiasi istanza in esecuzione e i dettagli di configurazione.

Se vuoi aggiungere l'accesso al Registro di sistema prima di creare un'applicazione, vedi Aggiunta dell'accesso a un registro del contenitore privato.

Distribuzione di un'applicazione con un'immagine da un registro privato con CLI

Distribuisci un'applicazione che utilizza un'immagine in un registro del contenitore con la CLI con il comando ibmcloud ce app create.

Prima di iniziare

Prima di poter utilizzare un'applicazione Code Engine che fa riferimento a un'immagine in un registro privato, devi prima aggiungere l'accesso al registro, estrarre l'immagine e quindi distribuirla.

  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 tua applicazione e fai riferimento all'immagine nel tuo registro hub Docker privato. Ad esempio, crea l'applicazione myhelloapp per fare riferimento a docker.io/privaterepo/helloworld utilizzando le informazioni di accesso privatedocker.

    ibmcloud ce app create --name myhelloapp --image docker.io/privaterepo/helloworld --registry-secret privatedocker
    

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

  4. Dopo che la tua app è stata distribuita, puoi accedervi. Per ottenere il sito URL dell'applicazione, eseguire ibmcloud ce app get --name myhelloapp --output url. Quando esegui il curl dell'applicazione myhelloapp, viene restituito Hello World.

    curl https://myhelloapp.abcdabcdhye.us-south.codeengine.appdomain.cloud
    

Passi successivi

Dopo che la tua applicazione è stata distribuita, puoi aggiornare la tua applicazione distribuita e il suo codice di riferimento utilizzando uno qualsiasi dei seguenti modi, indipendentemente da come hai creato o precedentemente aggiornato la tua applicazione:

  • Se hai un'immagine del contenitore, secondo lo standard OCI(Open Container Initiative), devi fornire solo un riferimento all'immagine, che punta all'ubicazione del tuo registro del contenitore quando distribuisci la tua applicazione. Puoi distribuire la tua applicazione con una immagine in un registro pubblico o in un registro privato.

    Se hai creato la tua applicazione utilizzando il comando app create e hai specificato l'opzione --build-source per creare l'immagine del contenitore dall'origine locale o del repository e vuoi modificare la tua applicazione in modo che punti a un'altra immagine del contenitore, devi prima rimuovere l'associazione della build dalla tua applicazione. Ad esempio, eseguire ibmcloud ce application update -n APP_NAME --build-clear. Dopo aver rimosso l'associazione della build dalla propria applicazione, è possibile aggiornare l'applicazione in modo che faccia riferimento a una diversa immagine.

  • Se stai iniziando con il codice sorgente che risiede in un repository Git, puoi scegliere di lasciare che Code Engine si occupi della creazione dell'immagine dalla tua origine e della distribuzione dell'applicazione con una singola operazione. In questo scenario, Code Engine carica la tua immagine in IBM Cloud® Container Registry. Per ulteriori informazioni, vedi Distribuzione della tua applicazione dal codice sorgente del repository. Se vuoi più controllo sulla build della tua immagine, puoi scegliere di creare l'immagine con Code Engine prima di distribuire la tua applicazione.

  • Se stai iniziando con il codice sorgente che risiede su una workstation locale, puoi scegliere di consentire a Code Engine di creare l'immagine dalla tua origine e distribuire l'applicazione con un singolo comando della CLI. In questo scenario, Code Engine carica la tua immagine in IBM Cloud® Container Registry. Per ulteriori informazioni, vedi Distribuzione della tua applicazione dal codice di origine locale con la CLI. Se vuoi più controllo sulla build della tua immagine, puoi scegliere di creare l'immagine con Code Engine prima di distribuire la tua applicazione.

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

Quando distribuisci la tua applicazione aggiornata, viene scaricata e distribuita l'ultima versione della tua immagine del contenitore di riferimento, a meno che non venga specificata una tag per l'immagine. Se viene specificata una tag per l'immagine, l'immagine contrassegnata viene utilizzata per la distribuzione.

Cerchi altri esempi di codice? Consulta gli Esempi per il repository IBM Cloud Code Engine GitHub.