2016-05-16 16 views
0

Ich stoße auf ein Problem mit Vagrant/Docker-Compose, das spezifisch für Windows zu sein scheint. Hier ist ein Überblick über den Aufbau und die Orchestrierung:docker-compose - Kein solcher Dienst über Vagrant-Windows-Shells

  • Vagrant mit einer boot2docker Box
  • Mehrere Docker-Container laufen innerhalb von boot2docker VM
  • Vagrantfile der
  • Innerhalb dieser Shell-Skripten mehrere Shell-Skripte ausgeführt wird, ich Führen Sie Befehle aus, die von der boot2docker-VM an die untergeordneten Docker-Container gesendet werden. Ein Beispiel für diese Befehle wie folgt aussehen: docker exec -i $(docker-compose ps -q $DOCKER_DBSVC) /bin/bash /db/dockersetup/restoreMyDB.sh
  • vagrant up Laufen auf meinem Linux Mint Box (und ein Ubuntu-Box) liefern Arbeitsmaschinen, die alle Befehle richtig
  • Lauf vagrant up unter Windows nicht auf den obigen Befehl (und Kommandos wie es ausführen) mit einem No such service: my-db-service
  • Ich habe docker-compose config --services nach dem Hochsetzen der Container ausgeführt und kann überprüfen, dass die Dienstnamen vorhanden sind, aber aus irgendeinem Grund schlägt der Befehl nur auf Windows-Hosts fehl!
  • Nachdem die Skripts fehlgeschlagen sind, fährt der Computer noch hoch und die Docker-Container sind aktiv. Ich kann dann vagrant ssh in die Box (über Windows-Host) und die Container nach Service-Namen referenzieren!

Irgendwelche Vorschläge?

Antwort

1

Zeilenenden, Zeilenenden, Zeilenenden. Das Windows-repos auscheckten und Umwandlung LF in CRLF, so dass die Service-Namen hatten, dass goofy CR am Ende von ihnen sitzt ... Um dies zu beheben, habe ich das folgende Skript based on this answer:

#!/bin/bash 
git config --global core.autocrlf false 
git config --global core.eol lf 
git rm --cached -rf . 
git diff --cached --name-only -z | xargs -n 50 -0 git add -f 
+1

diese feste https: //stackoverflow.com/questions/37317738/amended-line-ending-with-vagrant-zsh?noredirect=1#comment62156852_37317738 danke – bordeltabernacle