Nach dem Verschieben von Docker-Dateien (Images) auf ein AWS EFS NFS-Volume kann kein Container bereitgestellt werden

591
DKebler

Vor kurzem wurde meine AWS EC2 ubuntu 14.04-Instanz von der Verwendung eines EBS-Volumes auf das neue EFS umgestellt. Das funktioniert alles super und ich habe zum Beispiel alle meine eigenen Cloud-Daten dorthin verlegt.

Jetzt wollte ich meine Docker-Dateien von var / lib / docker auf mein EFS-Volume verschieben, aber wenn ich das tue und die Docker-Datei in etc / defaults ändere, kann das Docker keinen Container ohne diesen Fehler mounten.

root@aws-kebler:/mnt/efs/docker# docker restart $(docker ps -a -q) Error response from daemon: Cannot restart container 3e5a2335837a: oci runtime error: exec: "/ui-for-docker": stat /ui-for-docker: no such file or directory 

Das klang irgendwie, als würde das Bild nie montiert, also habe ich es von Grund auf versucht und habe ...

root@aws-kebler:/mnt/efs/docker# docker run -d -p 9001:9000 --name docker-ui --privileged -v /var/run/docker.sock:/var/run/docker.sock uifd/ui-for-docker docker: Error response from daemon: error creating aufs mount to /mnt/efs/docker/aufs/mnt/11bd65bb4cf850a5267ba635c2a015d6f89b7ac5af2662d75aa4ca51d4401726-init: file too large. 

Dies lässt mich denken, dass es beim EFS-Volume einige "Verrücktheiten" gibt, die bei der Erstellung eines Images oder beim Laden nicht "erweitert" werden.

Nur zum Grinsen habe ich den Docker-Ordner auf dem EFS-Volume gescrubbt und den gleichen Lauf ausgeführt und die gleiche Fehlermeldung über "Datei zu groß" erhalten.

Um sicher zu gehen, dass es das EFS-Volume ist, habe ich dasselbe gemacht, aber mein EBS-Volume verwendet und überhaupt keine Probleme. Also, es hat etwas mit dem EFS-Volume zu tun

Hier ist mein Reitbefehl

mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2 $(curl -s http://169.254.169.254/latest/meta-data/placement/availability-zone).xxxxxxxx.efs.us-west-2.amazonaws.com:/ efs 

Irgendwelche Ideen, warum dies geschieht oder wie man es beheben kann.

2

1 Antwort auf die Frage

0
chrome-dome

Vielleicht ähnlich, aber in meinem Fall wurde der Docker-Daemon (1.12) gestartet, bevor der NFS-Mount ausgeführt wurde. Beim Erstellen eines neuen Computers bei aws passiert es ... sowieso, kein Container new oder sonst könnten Dateien in diesem Ordner angezeigt werden, obwohl sie nach dem Mounten der nfs-Freigabe eindeutig auf dem Docker-Host vorhanden waren. Zum Testen haben wir einen dummen Container, dasselbe Bild, denselben Scheißer, keine Dateien ausprobiert.

Durch den Neustart des Docker-Daemons wurde das Problem behoben, da der Docker-Daemon nur beim Start des Docker-Daemons die verfügbaren Laufwerke (** und deren Unterordner **) auf dem Host auflistet. Container-Start macht das nicht, es fragt nur den Docker-Daemon nach Wuzzup.

hths.