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

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

L'operazione di copia non riesce a causa di errori di autorizzazione

Per ottenere l'accesso in lettura all'intero file system, il comando copy viene eseguito utilizzando un superutente sulla macchina di origine. Tuttavia, a volte l'operazione di copia non riesce a causa di errori di autorizzazione. Questo problema si verifica perché in alcuni casi anche il superutente 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

Come soluzione alternativa a questo 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 ulteriori informazioni, consulta Ridurre le dimensioni del file system copiato.

L'operazione di copia che utilizza gcloud non riesce ad autenticarsi alla macchina

Se utilizzi gcloud per eseguire il comando copy con sudo, in alcuni casi l'operazione di copia potrebbe non riuscire ad autenticarsi sulla macchina di origine. Questo problema si verifica perché gcloud viene eseguito con lo stesso superutente che esegue il riga di comando Migrate to Containers e il superutente non dispone delle 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

Come soluzione alternativa a questo problema, prova a eseguire il comando copy utilizzando gcloud senza sudo.

Il comando analyze non va a buon fine quando si utilizza la versione Snap di Docker

Se utilizzi la versione Snap di Docker, il comando analyze non va a buon fine.

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

Come soluzione alternativa a questo problema, installa di nuovo Docker senza utilizzare Snap. Per maggiori informazioni, consulta Installare Docker Engine.