Problemi con l'interfaccia a riga di comando Migrate to Containers

Questo documento descrive le soluzioni alternative per alcuni problemi che potresti riscontrare durante l'utilizzo dell'interfaccia a riga di comando Migrate to Containers.

L'operazione di copia non va a buon fine a causa di errori di autorizzazione

Per ottenere l'accesso in lettura all'intero file system, il comando copy viene eseguito utilizzando un super user sulla macchina di origine. Tuttavia, a volte l'operazione di copia continua a non riuscire a causa di errori di autorizzazione. Questo problema si verifica perché in alcuni casi anche il super user non ha accesso in lettura ad alcune directory sulla macchina di origine.

In questi casi, potresti visualizzare un messaggio di errore simile al seguente:

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

Per risolvere il problema, crea un filtro personalizzato per escludere queste directory dall'operazione di copia.

Ad esempio, per escludere la directory /var/lib/lxcfs dall'operazione di copia, aggiungi il seguente filtro personalizzato nel file dei filtri:

- /var/lib/lxcfs

Per scoprire di più, consulta Ridurre le dimensioni del file system copiato.

L'autenticazione sulla macchina dell'operazione di copia utilizzando gcloud non riesce

Se utilizzi gcloud per eseguire il comando copy con sudo, in alcuni casi l'operazione di copia potrebbe non riuscire a eseguire l'autenticazione sulla macchina di origine. Questo problema si verifica perché gcloud viene eseguito con lo stesso super user che esegue l'interfaccia a riga di comando Migrate to Containers e il super user non ha le stesse credenziali dell'utente standard.

In questi casi, potresti visualizzare un messaggio di errore simile al seguente:

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

Per risolvere il problema, prova a eseguire il comando copy utilizzando gcloud senza sudo.

Il comando analyze non riesce quando si utilizza la versione Snap di Docker

Se utilizzi la versione Snap di Docker, il comando analyze non riesce.

In questi casi, potresti visualizzare un messaggio di errore simile al seguente:

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

Per risolvere il problema, installa di nuovo Docker senza utilizzare Snap. Per ulteriori informazioni, vedi Installare Docker Engine.