Problemas com a CLI Migrate to Containers
Este documento descreve soluções alternativas para alguns problemas que pode encontrar ao trabalhar com a CLI Migrate to Containers.
A operação de cópia falha devido a erros de autorização
Para obter acesso de leitura a todo o sistema de ficheiros, o comando copy
é executado através de um superutilizador na máquina de origem. No entanto, por vezes, a operação de cópia continua a falhar devido a erros de autorização. Este problema ocorre porque, em alguns casos, mesmo o superutilizador não tem acesso de leitura a alguns diretórios na máquina de origem.
Nestes casos, pode ver uma mensagem de erro semelhante à seguinte:
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 solução alternativa para este problema, crie um filtro personalizado para excluir esses diretórios da operação de cópia.
Por exemplo, para excluir o diretório /var/lib/lxcfs
da operação de cópia,
adicione o seguinte filtro personalizado no ficheiro de filtros:
- /var/lib/lxcfs
Para mais informações, consulte o artigo Reduza o tamanho do sistema de ficheiros copiado.
A operação de cópia através de gcloud
não consegue autenticar-se na máquina
Se usar gcloud
para executar o comando copy
com sudo
, em alguns casos, a operação de cópia pode não conseguir autenticar-se na máquina de origem. Este problema ocorre porque o comando gcloud
é executado com o mesmo superutilizador que executa a CLI Migrate to Containers, e o superutilizador não tem as mesmas credenciais que o utilizador padrão.
Nestes casos, pode ver uma mensagem de erro semelhante à seguinte:
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 solução alternativa para este problema, experimente executar o comando copy
usando gcloud
sem sudo
.
O comando analyze
falha quando usa a versão Snap do Docker
Se estiver a usar a versão Snap do Docker, o comando analyze
falha.
Nestes casos, pode ver uma mensagem de erro semelhante à seguinte:
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 solução alternativa para este problema, instale novamente o Docker sem usar o Snap. Para mais informações, consulte o artigo Instale o Docker Engine.