Problèmes liés à la CLI Migrate to Containers

Ce document décrit les solutions aux problèmes que vous pouvez rencontrer lors de l'utilisation de la CLI Migrate to Containers.

Échec de l'opération de copie en raison d'erreurs d'autorisation

Pour obtenir un accès en lecture sur l'ensemble du système de fichiers, la commande copy est exécutée par un super-utilisateur sur la machine source. Cependant, l'opération de copie peut toujours échouer en raison d'erreurs d'autorisation. Ce problème survient, car dans certains cas, même le super-utilisateur ne dispose pas d'un accès en lecture à certains répertoires de la machine source.

Dans ce cas, un message d'erreur semblable à celui-ci peut s'afficher :

E   rsync   rsync: send_files failed to open "/var/lib/lxcfs/cgroup/blkio/blkio.reset_stats": Permission denied (13)
...
E   rsync   rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1865) [generator=3.2.7]
Error: failed to copy fs from GCP VM "petclinic-springboot": failed copying vm to "/tmp/copy-1411243774": exit status 23

Pour contourner ce problème, créez un filtre personnalisé afin d'exclure ces répertoires de l'opération de copie.

Par exemple, pour exclure le répertoire /var/lib/lxcfs de l'opération de copie, ajoutez le filtre personnalisé suivant dans le fichier de filtres :

- /var/lib/lxcfs

Pour en savoir plus, consultez la section Réduire la taille du système de fichiers copié.

Échec de l'opération de copie via gcloud pour s'authentifier auprès de la machine

Si vous utilisez gcloud pour exécuter la commande copy avec sudo, l'opération de copie peut, dans certains cas, ne pas s'authentifier auprès de la machine source. Ce problème se produit car gcloud est exécuté avec le même super-utilisateur qui exécute la CLI Migrate to Containers, et le super-utilisateur ne dispose pas des mêmes identifiants que l'utilisateur standard.

Dans ce cas, un message d'erreur semblable à celui-ci peut s'afficher :

E ssh init ERROR: (gcloud.compute.ssh) There was a problem refreshing your current auth tokens: ('Failed to retrieve TOKEN from the Google Compute Engine metadata service. Status: 404 Response:\nb\'"No service account scopes specified."\'', <google.auth.transport.requests._Response object at 0x7fecf5c75550>)
E ssh init Please run:
E ssh init
E ssh init  $ gcloud auth login
E ssh init
E ssh init to obtain new credentials.
E ssh init
E ssh init If you have already logged in with a different account:
E ssh init
E ssh init    $ gcloud config set account ACCOUNT
E ssh init
E ssh init to select an already authenticated account to use.
Error: failed to initiate a connection with GCP VM "tomcat-server": exit status 1

Pour contourner ce problème, essayez d'exécuter la commande copy avec gcloud sans sudo.

La commande analyze échoue lorsque vous utilisez la version Snap de Docker

Si vous utilisez la version Snap de Docker, la commande analyze échoue.

Dans ce cas, un message d'erreur semblable à celui-ci peut s'afficher :

I       Unpacking file system...
I       Running analysis...
Error: running analysis failed: failed to run container: Error response from daemon: invalid mount config for type "bind": bind source path does not exist: PATH

Pour contourner ce problème, réinstallez Docker sans utiliser Snap. Pour en savoir plus, consultez la page Installer Docker Engine.