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

Ce document décrit les solutions de contournement à certains 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 en utilisant un super-utilisateur sur la machine source. Toutefois, l'opération de copie échoue parfois 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é.

L'opération de copie avec gcloud ne parvient pas à s'authentifier sur la machine

Si vous utilisez gcloud pour exécuter la commande copy avec sudo, il est possible que l'opération de copie ne parvienne pas à s'authentifier sur 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 que 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 lors de l'utilisation de 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, installez à nouveau Docker sans utiliser Snap. Pour en savoir plus, consultez la section Installer Docker Engine.