2017-03-22 5 views
0

Ich habe Probleme, meine Docker-Compose-Datei zu konfigurieren, dass Docker Container beim Neustart neu starten kann (mein Betriebssystem ist Ubuntu 16.04). Das Problem ist nicht, wenn ich restart: always in es überlasse, aber wenn mein Container einige volume-basierte Datei (z. B. ssl-cert in nginx) benötigt. Mein Code (in docker-compose.yml):Docker Volume mit Neustart immer Option aktiviert

php: 
    entrypoint: ["wait-for-it", "dockerhost:3306", "-t", "0", "--", "/install.sh"] 
    environment: 
     - ENVIRONMENT=prod 
    volumes: 
     - ${FILE}:/file 
     - /code 
    env_file: 
     - prod.env 
    restart: always 

Und alles ist in Ordnung, wenn ich es selbst beginne. Dann überprüfe ich, ob es nach dem Neustart funktioniert. Aber nah, es nicht funktionieren, docker-compose ps gibt:

Name     Command    State  Ports 
-----------------------------------------------------------------------   
panel_php_1  wait-for-it dockerhost:330 ... Exit 127 

Durch docker inspect panel_php_1 Ausführung es hallt Fehler:

"Error": "oci runtime error: container_linux.go:247: starting container process caused \"process_linux.go:359: container init caused \\\"rootfs_linux.go:54: mounting \\\\\\\"/home/mblocinski/hehe.txt\\\\\\\" to rootfs \\\\\\\"/var/lib/docker/aufs/mnt/d746adf311098a9e2ffc27d9447a3e448ecfb9081ff4757704c24ec51ef9053e\\\\\\\" at \\\\\\\"/var/lib/docker/aufs/mnt/d746adf311098a9e2ffc27d9447a3e448ecfb9081ff4757704c24ec51ef9053e/file\\\\\\\" caused \\\\\\\"not a directory\\\\\\\"\\\"\"\n: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type" 

Und Mounts:

"Mounts": [ 
      { 
       "Type": "bind", 
       "Source": "/home/mblocinski/hehe.txt", 
       "Destination": "/file", 
       "Mode": "rw", 
       "RW": true, 
       "Propagation": "" 
      } 
] 

Ich bin sicher, dass hehe. TXT-Datei ist eine Datei, kein Verzeichnis. Vielleicht ist es hilfreich, wenn ich sage, dass mounten Volumen in Container, die Verzeichnis ist gut funktioniert. Bitte helfe, durchsuchte schon das ganze Internet und nichts funktioniert wirklich. Danke

Antwort

1

Überprüfen Sie, ob/home von encfs verschlüsselt ist. Standardmäßig konfiguriert Ubuntu diese Funktion während der Installation.

Führen Sie diesen Befehl aus: mount|grep home und überprüfen Sie, ob die Ausgabe type encfs oder so ähnlich ist.

+0

Ja in der Tat hat es "Typ ecryptfs", wenn ich Dateiquelle in/etc/Datei alles funktioniert geändert – PianistaMichal