Cloud Run for Anthos accepte les images de conteneur créées avec n'importe quel outil capable de générer des images de conteneur, pour autant qu'elles respectent le contrat concernant l'exécution des conteneurs.
En particulier, votre code doit écouter les requêtes HTTP sur le port défini par la variable d'environnement PORT
. Cette variable d'environnement PORT
est automatiquement injectée par Cloud Run pour Anthos dans votre conteneur.
Cette page décrit plusieurs façons de créer des images de conteneur :
- Utiliser un fichier Dockerfile
- Utiliser Buildpacks
Compiler à l'aide d'un fichier Dockerfile
Si vous utilisez des fichiers Dockerfile, vous pouvez procéder de l'une ou l'autre des manières suivantes :
- Compiler à l'aide de Cloud Build
- Compiler localement à l'aide de Docker
Créer à l'aide de Cloud Build
Pour créer votre image sur Google Cloud, procédez comme suit :
Naviguez jusqu'au dossier contenant vos sources et votre fichier Docker.
Exécutez la commande suivante :
gcloud builds submit --tag IMAGE_URL
Remplacez IMAGE_URL par une référence à l'image de conteneur, par exemple
gcr.io/myproject/my-image:latest
.
Pour obtenir des instructions détaillées sur Cloud Build, consultez la page Déployer sur Cloud Run for Anthos.
Pour obtenir des conseils sur l'amélioration des performances de création, consultez la page Bonnes pratiques pour accélérer les compilations.
Créer des images localement et les transférer à l'aide de Docker
Si Docker est installé localement, vous pouvez utiliser docker build
au lieu d'utiliser Cloud Build ou Buildpacks.
Avant de compiler vos sources dans une image de conteneur ("conteneurisation"), vous devez disposer d'un fichier Dockerfile et de sources.
Pour créer une image de conteneur à l'aide de Docker, procédez comme suit :
Accédez au dossier contenant vos sources et votre fichier
Dockerfile
.Exécutez la commande suivante :
docker build . --tag IMAGE_URL
Remplacez IMAGE_URL par une référence à l'image de conteneur, par exemple
gcr.io/myproject/my-image:latest
.Si vous n'avez pas encore configuré Docker pour utiliser la CLI Google Cloud afin d'authentifier les requêtes auprès de Container Registry, utilisez la commande suivante:
gcloud auth configure-docker
Vous devez le faire avant de pouvoir transférer ou extraire des images à l'aide de Docker. Cette opération n'est à effectuer qu'une seule fois.
Transférez l'image de conteneur dans Container Registry :
docker push IMAGE_URL
Remplacez IMAGE_URL par une référence à l'image de conteneur, par exemple
gcr.io/myproject/my-image:latest
.
Pour exclure les fichiers locaux de ce processus, suivez les instructions du fichier de configuration .dockerignore
.
Compiler à l'aide de Buildpacks
Pour en savoir plus sur Buildpacks, consultez le site Web Buildpacks. Google fournit un ensemble de packs de création compatibles avec CNCF qui compilent du code source dans des images de conteneurs conçues pour s'exécuter sur les plates-formes de conteneurs Google Cloud, y compris Cloud Run pour Anthos.
Voici la liste des plates-formes actuellement compatibles :
- Go
- Node.js
- Python
- Java
- .NET Core
Compiler avec Buildpacks à l'aide de Cloud Build
Pour compiler avec un Buildpack, procédez comme suit :
Accédez au dossier contenant vos sources.
Exécutez la commande suivante :
gcloud builds submit --pack image=IMAGE_URL
Remplacez IMAGE_URL par l'URL de l'image de conteneur, par exemple
gcr.io/myproject/myservice
.Attendez la fin de la compilation.
Compiler avec Buildpack à l'aide de la ligne de commande pack
Pour compiler à l'aide de la commande pack :
Si vous ne l'avez pas déjà fait, installez Docker.
Si vous n'avez pas encore configuré Docker pour utiliser la CLI Google Cloud afin d'authentifier les requêtes auprès de Container Registry, utilisez la commande suivante :
gcloud auth configure-docker
Vous devez le faire avant de pouvoir transférer ou extraire des images à l'aide de Docker. Cette opération n'est à effectuer qu'une seule fois.
Si vous ne l'avez pas déjà fait, installez
pack
.Accédez au dossier contenant vos sources.
Exécutez la commande suivante pour créer des conteneurs et les transférer vers votre registre de conteneurs :
pack build --publish IMAGE_URL
Remplacez IMAGE_URL par une référence à l'image de conteneur, par exemple
gcr.io/myproject/my-image:latest
.Attendez que
pack
ait terminé.
Pour en savoir plus, consultez les instructions de la section Créer une application.
Étapes suivantes
Pour en savoir plus sur le contrat que vos conteneurs doivent respecter pour pouvoir être déployés dans Cloud Run pour Anthos, consultez la page Contrat concernant l'exécution des conteneurs.
Pour déployer vos conteneurs créés sur Cloud Run for Anthos, suivez les consignes de la section Déployer des services.
Pour automatiser les compilations et les déploiements de vos services Cloud Run pour Anthos à l'aide des déclencheurs Cloud Build, configurez le déploiement continu.