Probleme mit der Migrate to Containers-Befehlszeile
In diesem Dokument werden Umgehungen für einige Probleme beschrieben, die bei der Arbeit mit Migrate to Containers-Befehlszeile auftreten können.
Kopiervorgang schlägt aufgrund von Berechtigungsfehlern fehl
Um Lesezugriff auf das gesamte Dateisystem zu erhalten, wird der Befehl copy
mit einem Superuser auf dem Quellcomputer ausgeführt. Gelegentlich schlägt der Kopiervorgang jedoch aufgrund von Berechtigungsfehlern weiterhin fehl. Dieses Problem tritt auf, weil in einigen Fällen sogar der Superuser keinen Lesezugriff auf einige Verzeichnisse auf dem Quellcomputer hat.
In solchen Fällen wird möglicherweise eine Fehlermeldung wie die folgende angezeigt:
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
Als Behelfslösung für dieses Problem erstellen Sie einen benutzerdefinierten Filter, um solche Verzeichnisse vom Kopiervorgang auszuschließen.
Wenn Sie beispielsweise das Verzeichnis /var/lib/lxcfs
aus dem Kopiervorgang ausschließen möchten, fügen Sie den folgenden benutzerdefinierten Filter in der Filterdatei hinzu:
- /var/lib/lxcfs
Weitere Informationen finden Sie unter Größe des kopierten Dateisystems reduzieren.
Der Kopiervorgang mit gcloud
kann nicht beim Computer authentifiziert werden
Wenn Sie gcloud
verwenden, um den copy
-Befehl mit sudo
auszuführen, kann es sein, dass der Kopiervorgang bei der Quellmaschine nicht authentifiziert wird. Dieses Problem tritt auf, weil gcloud
mit demselben Superuser ausgeführt wird, der auch die Migrate to Containers-Befehlszeile ausführt, und der Superuser nicht dieselben Anmeldedaten wie der Standardnutzer hat.
In solchen Fällen wird möglicherweise eine Fehlermeldung wie die folgende angezeigt:
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
Als Behelfslösung können Sie den Befehl copy
mit gcloud
ohne sudo
ausführen.
Der Befehl analyze
schlägt fehl, wenn die Snap-Version von Docker verwendet wird
Wenn Sie die Snap-Version von Docker verwenden, schlägt der Befehl analyze
fehl.
In solchen Fällen wird möglicherweise eine Fehlermeldung wie die folgende angezeigt:
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
Als Behelfslösung für dieses Problem installieren Sie Docker noch einmal ohne Snap. Weitere Informationen finden Sie unter Docker Engine installieren.