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.