Démarrage rapide pour Docker

Cette page explique comment utiliser Cloud Build pour créer une image Docker et la transférer vers Container Registry. Vous allez d'abord créer l'image à l'aide d'un fichier Dockerfile, puis la compiler à l'aide du fichier de configuration de compilation de Cloud Build.

Avant de commencer

  1. Connectez-vous à votre compte Google.

    Si vous n'en possédez pas déjà un, vous devez en créer un.

  2. Dans la page de sélection du projet de la console GCP, sélectionnez ou créez un projet GCP.

    Accéder à la page de sélection du projet

  3. Assurez-vous que la facturation est activée pour votre projet Google Cloud Platform. Découvrez comment confirmer que la facturation est activée pour votre projet.

  4. Activez les Cloud Build requises.

    Activer les API

  5. Installez et initialisez le SDK Cloud.

Se connecter à Google Cloud Platform

  1. Autorisez l'outil de ligne de commande gcloud à accéder au projet :

    gcloud auth login
    
  2. Configurez le projet pour l'outil gcloud, où [PROJECT_ID] est l'ID du projet GCP que vous avez créé ou sélectionné dans la section précédente :

    gcloud config set project [PROJECT_ID]
    

Préparer les fichiers source

Vous aurez besoin d'un exemple de code source pour procéder à la compilation. Dans cette section, vous allez créer un exemple Hello World simple et un fichier Dockerfile.

  1. Créez un fichier nommé quickstart.sh avec le contenu suivant :

    #!/bin/sh
    echo "Hello, world! The time is $(date)."
    
  2. Créez un fichier intitulé Dockerfile avec les éléments suivants :

    FROM alpine
    COPY quickstart.sh /
    CMD ["/quickstart.sh"]
    
  3. Ouvrez une fenêtre de terminal (si aucune n'est déjà ouverte).

  4. Exécutez la commande suivante pour rendre quickstart.sh exécutable :

    chmod +x quickstart.sh
    

Compiler à l'aide d'un fichier Dockerfile

Cloud Build permet de créer une image Docker à l'aide d'un fichier Dockerfile. Aucun fichier de configuration de compilation distinct n'est requis.

Exécutez la commande suivante à partir du répertoire contenant quickstart.sh et Dockerfile, où [PROJECT_ID] correspond à l'ID du GCP :

    gcloud builds submit --tag gcr.io/[PROJECT_ID]/quickstart-image .

Une fois la compilation terminée, un résultat semblable aux lignes suivantes doit s'afficher :

DONE
-------------------------------------------------------------------------------------------------------------------------
ID                                    CREATE_TIME                DURATION SOURCE                                   STATUS
$BUILD_ID                             2016-09-28T13:46:29+00:00  9S    gs://[PROJECT_ID]_cloudbuild/source/1508159187.8-b0d8841d51674a30aebd1e55bb99486f.gz  gcr.io/[PROJECT_ID]/quickstart-image (+1 more)       SUCCESS

Vous venez de compiler une image Docker nommée quickstart-image à l'aide d'un fichier Dockerfile et l'avez envoyée vers Container Registry.

Compiler à l'aide d'un fichier de configuration de compilation

Dans cette section, vous allez utiliser un fichier de configuration de compilation pour compiler la même image Docker que celle ci-dessus. La configuration de compilation demande à Cloud Build d'effectuer des tâches en fonction de vos spécifications.

  1. Dans le même répertoire contenant quickstart.sh et le fichier Dockerfile, créez un fichier nommé cloudbuild.yaml avec le contenu suivant. Ce fichier est votre fichier de configuration de compilation. Au moment de la compilation, Cloud Build remplace automatiquement $PROJECT_ID par votre ID de projet.

    steps:
    - name: 'gcr.io/cloud-builders/docker'
      args: [ 'build', '-t', 'gcr.io/$PROJECT_ID/quickstart-image', '.' ]
    images:
    - 'gcr.io/$PROJECT_ID/quickstart-image'
    
  2. Démarrez la compilation en exécutant la commande suivante :

    gcloud builds submit --config cloudbuild.yaml .
    

Une fois la compilation terminée, un résultat semblable aux lignes suivantes doit s'afficher :

DONE
-------------------------------------------------------------------------------------------------------------------------
ID                                    CREATE_TIME                DURATION SOURCE                                   STATUS
$BUILD_ID                             2016-09-28T13:46:29+00:00  8S    gs://[PROJECT_ID]_cloudbuild/source/1508158566.55-725755714baa4b7e9e99984c422ec4e2.gz  gcr.io/[PROJECT-ID]/quickstart-image (+1 more)       SUCCESS

Vous venez de compiler une image nommée quickstart-image à l'aide d'un fichier de configuration de compilation et l'avez envoyée vers Container Registry.

Afficher les informations relatives à la compilation

  1. Ouvrez la page Cloud Build dans la console Google Cloud Platform.

    Ouvrir la page Cloud Build

  2. Sélectionnez votre projet et cliquez sur Ouvrir.

    La page Build history (Historique de compilation) s'affiche :

    Capture d'écran de la page d'historique de compilation

  3. Cliquez sur une compilation.

    La page Informations sur la compilation s'affiche :

  4. Cliquez sur l'image.

    Capture d'écran du lien de l'image

    Les informations relatives à l'image s'affichent sur la page Container Registry.

Exécuter l'image Docker (facultatif)

Pour vérifier le bon fonctionnement de l'image compilée, vous pouvez l'exécuter à l'aide de Docker.

  1. Installez Docker.

  2. Configurez Docker pour qu'il utilise vos informations d'identification Container Registry lors de l'interaction avec Container Registry (action à effectuer une seule fois) :

    gcloud auth configure-docker
    

    Un message semblable à celui-ci s'affiche alors :

    The following settings will be added to your Docker config file
    located at [/.docker/config.json]:
    
    {
      "credHelpers": {
        "gcr.io": "gcloud",
        "us.gcr.io": "gcloud",
        "eu.gcr.io": "gcloud",
        "asia.gcr.io": "gcloud",
        "staging-k8s.gcr.io": "gcloud",
        "marketplace.gcr.io": "gcloud"
      }
    }
    
    Do you want to continue (Y/n)?
    
  3. Tapez y et appuyez sur Entrée.

  4. Exécutez l'image Docker précédemment compilée où [PROJECT_ID] correspond à l'ID de projet GCP :

    docker run gcr.io/[PROJECT_ID]/quickstart-image
    

    Un résultat semblable aux lignes suivantes s'affiche :

    Hello, world! The time is Fri Feb  2 16:09:54 UTC 2018.
    

Nettoyer

Afin d'éviter que des frais ne soient facturés sur votre compte GCP pour les ressources utilisées dans ce démarrage rapide, procédez comme suit :

  1. Ouvrez la page Container Registry dans la console Google Cloud Platform.

    Ouvrir la page Container Registry.

  2. Sélectionnez votre projet et cliquez sur Ouvrir.

  3. Cliquez sur quickstart-image.

  4. Sélectionnez toutes les images et cliquez sur Supprimer.

Vous avez maintenant supprimé les images que vous avez créées dans le cadre de ce démarrage rapide.

Voilà ! Vous avez terminé le guide de démarrage rapide.

Étapes suivantes