Pendant le développement, vous pouvez exécuter et tester votre image de conteneur localement, avant de la déployer. Vous pouvez utiliser Cloud Code ou Docker installé localement pour exécuter et tester en local, y compris avec un accès aux services Google Cloud .
Exécuter dans un émulateur de service Knative
Le plug-in Cloud Code pour les IDE JetBrains et VS Code vous permet d'exécuter et de déboguer votre image de conteneur localement dans un émulateur Knative serving au sein de votre IDE. L'émulateur vous permet de configurer un environnement représentatif de votre service exécuté sur Knative serving.
Vous pouvez configurer des propriétés telles que l'allocation de processeur et de mémoire, spécifier des variables d'environnement et définir les connexions à la base de données Cloud SQL.
- Installez Cloud Code pour un IDE JetBrains ou VS Code.
- Suivez les instructions permettant de développer et de déboguer en local dans votre IDE.
- VS Code : développement et débogage en local
- IntelliJ : développement et débogage en local
Exécuter en local à l'aide de Docker
Pour tester votre image de conteneur localement à l'aide de Docker, procédez comme suit :
Exécutez la commande Docker :
PORT=8080 && docker run -p 9090:${PORT} -e PORT=${PORT} IMAGE_URL
Remplacez IMAGE_URL par une référence à l'image de conteneur, par exemple
gcr.io/cloudrun/hello
.La variable d'environnement
PORT
spécifie le port que votre application utilisera pour écouter les requêtes HTTP ou HTTPS. Il s'agit d'une exigence du contrat d’exécution du conteneur. Dans cet exemple, nous utilisons le port 8080.Ouvrez http://localhost:9090 dans votre navigateur.
Si vous débutez avec les conteneurs, consultez le guide de démarrage de Docker. Pour en savoir plus sur les commandes Docker, consultez la documentation de Docker.
Exécuter en local à l'aide de Docker avec accès aux services Google Cloud
Si vous utilisez des bibliothèques clientes Google Cloud pour intégrer votre application aux services Google Cloud et que vous n'avez pas encore sécurisé ces services pour contrôler l'accès externe, vous pouvez configurer votre conteneur local pour s'authentifier avec les services Google Cloudà l'aide d'une clé de compte de service.
Pour exécuter une image en local, procédez comme suit :
Pour savoir comment configurer vos identifiants, consultez la section Clé de compte de service.
Les options d'exécution de Docker suivantes injectent les identifiants et la configuration de votre système local dans le conteneur local :
- Utilisez l'option
--volume
(-v
) pour injecter le fichier d'identifiants dans le conteneur (en supposant que vous avez déjà défini votre variable d'environnementGOOGLE_APPLICATION_CREDENTIALS
sur votre machine) :-v $GOOGLE_APPLICATION_CREDENTIALS:/tmp/keys/FILE_NAME.json:ro
- Utilisez l'option
--environment
(-e
) pour définir la variableGOOGLE_APPLICATION_CREDENTIALS
dans le conteneur :-e GOOGLE_APPLICATION_CREDENTIALS=/tmp/keys/FILE_NAME.json
- Utilisez l'option
Vous pouvez éventuellement utiliser la commande Docker
run
entièrement configurée ci-après :PORT=8080 && docker run \ -p 9090:${PORT} \ -e PORT=${PORT} \ -e K_SERVICE=dev \ -e K_CONFIGURATION=dev \ -e K_REVISION=dev-00001 \ -e GOOGLE_APPLICATION_CREDENTIALS=/tmp/keys/FILE_NAME.json \ -v $GOOGLE_APPLICATION_CREDENTIALS:/tmp/keys/FILE_NAME.json:ro \ IMAGE_URL
Notez que le chemin d'accès
indiqué dans l'exemple ci-dessus est un emplacement approprié pour placer vos identifiants à l'intérieur du conteneur./tmp/keys/FILE_NAME.json
D'autres emplacements de répertoire peuvent également convenir. L'essentiel est que la variable d'environnement
GOOGLE_APPLICATION_CREDENTIALS
corresponde à l'emplacement du montage lié (bind mount) dans le conteneur.Notez également qu'avec certains Google Cloud services, vous pouvez utiliser une autre configuration pour isoler le dépannage local des performances et des données de production.
Étapes suivantes
Pour savoir comment déployer vos conteneurs une fois qu'ils sont créés, reportez-vous à la page Déployer des services.