Problemas con la CLI de Migrate to Containers
En este documento se describen soluciones alternativas para algunos problemas que pueden surgir al trabajar con la CLI de Migrate to Containers.
No se puede copiar debido a errores de permisos
Para obtener acceso de lectura a todo el sistema de archivos, el comando copy
se ejecuta con un superusuario en la máquina de origen. Sin embargo, a veces la operación de copia sigue fallando debido a errores de permisos. Este problema se produce porque, en algunos casos, ni siquiera el superusuario tiene acceso de lectura a algunos directorios de la máquina de origen.
En estos casos, es posible que veas un mensaje de error similar al siguiente:
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
Para solucionar este problema, cree un filtro personalizado para excluir esos directorios de la operación de copia.
Por ejemplo, para excluir el directorio /var/lib/lxcfs
de la operación de copia, añade el siguiente filtro personalizado al archivo de filtros:
- /var/lib/lxcfs
Para obtener más información, consulta Reducir el tamaño del sistema de archivos copiado.
No se puede autenticar en el equipo al copiar con gcloud
Si usas gcloud
para ejecutar el comando copy
con sudo
, en algunos casos, es posible que la operación de copia no pueda autenticarse en la máquina de origen. Este problema se produce porque gcloud
se ejecuta con el mismo superusuario que ejecuta la CLI Migrate to Containers, y el superusuario no tiene las mismas credenciales que el usuario estándar.
En estos casos, es posible que veas un mensaje de error similar al siguiente:
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
Para solucionar este problema, prueba a ejecutar el comando copy
con gcloud
sin sudo
.
El comando analyze
falla al usar la versión Snap de Docker
Si usas la versión Snap de Docker, el comando analyze
fallará.
En estos casos, es posible que veas un mensaje de error similar al siguiente:
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
Para solucionar este problema, vuelve a instalar Docker sin usar Snap. Para obtener más información, consulta Instalar Docker Engine.