Problemas con la CLI de Migrate to Containers

En este documento, se describen soluciones alternativas para algunos problemas que puedes encontrar cuando trabajas con la CLI de Migrate to Containers.

No se puede copiar la operación debido a errores de permiso

Para obtener acceso de lectura en 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 aún falla debido a errores de permiso. Este problema se produce porque, en algunos casos, incluso el superusuario no tiene acceso de lectura a algunos directorios en la máquina de origen.

En esos 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

Como solución alternativa a este problema, crea 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, agrega el siguiente filtro personalizado en el archivo de filtros:

- /var/lib/lxcfs

Para obtener más información, consulta Reduce el tamaño del sistema de archivos copiado.

La operación de copia mediante gcloud no se autentica en la máquina.

Si usas gcloud para ejecutar el comando copy con sudo, en algunos casos, la operación de copia puede no autenticarse en la máquina de origen. Este problema se produce porque gcloud se ejecuta con el mismo superusuario que ejecuta la CLI de Migrate to Containers, y el superusuario no tiene las mismas credenciales que el usuario estándar.

En esos 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

Como solución alternativa a este problema, intenta ejecutar el comando copy con gcloud sin sudo.

El comando analyze falla cuando se usa la versión de Snap de Docker

Si usas la versión de Snap de Docker, el comando analyze falla.

En esos 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

Como solución alternativa a este problema, vuelve a instalar Docker sin usar Snap. Para obtener más información, consulta Instala Docker Engine.