Hier ist meine docker-compose.yml-Datei:
version: '3.1'
services:
a:
image: tutum/hello-world
b:
image: tutum/hello-world
secrets:
id: my_password
Wenn ich $ docker-compose-up
starte, bekomme ich folgendes:
Version in "./docker-compose.yml" wird nicht unterstützt. Möglicherweise wird dieser Fehler angezeigt, weil Sie die falsche Version der Compose-Datei verwenden.
Meine Docker-Compose-Version:
$ docker-compose --version
docker-compose version 1.11.0, build 6de1806
Was ist hier los? Sollte meine Docker-Compose-Version nicht die Version 3.1 der Docker-Compose.yml-Spezifikation unterstützen (gemäß den Versionshinweisen )?
Sie machen alles richtig und es sollte funktionieren. Es gab jedoch einen Fehler in Docker-Compose 1.11.0, der das Dateiformat 3.1 nicht als gültig erkannte. (3.0 funktioniert).
Es gibt bereits eine neue Version von docker-compose (1.11.1), die den Bugfix enthält:
Fehlerbehebung
Fehler behoben, durch den das 3.1-Dateiformat vom Compose-Parser nicht als gültig erkannt wurde
Daher würde ich empfehlen, Ihre Docker-Compose-Version zu aktualisieren, wenn Sie das Dateiformat 3.1 verwenden möchten.
Momentan ist es am sichersten, wenn Sie Docker-Compose aktualisieren, indem Sie es löschen und erneut installieren.
rm /usr/local/bin/docker-compose
Neu installieren:
curl -L https://github.com/docker/compose/releases/download/1.11.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose --version
docker-compose version 1.11.1, build 7c5d5e4
Nun gibt es keinen Fehler mehr im Dateiformat. (Ich habe nicht mit Ihrem .yml getestet).
docker-compose up
Starting compose_a_1
Starting compose_b_1
Ich habe das Problem durch ein Upgrade von docker-compose behoben.
Befolgen Sie die folgenden Schritte zum Upgrade von Docker-Compose in Ubuntu16.04
schritt 1:
$which docker-compose
/usr/bin/docker-compose
schritt 2:
$Sudo rm /usr/bin/docker-compose
schritt 3:
curl -L https://github.com/docker/compose/releases/download/1.20.0/docker-compose-`uname -s`-`uname -m` -o /usr/bin/docker-compose
schritt 4:
chmod +x /usr/bin/docker-compose
Wenn Sie linux/ubuntu verwenden, ist dies offensichtlich, aber seien Sie vorsichtig, wenn Sie als root ausführen, z.
docker-compose -v
Gibt
docker-compose version 1.8.0, build unknown
vs
Sudo docker-compose -v
Gibt
docker-compose version 1.17.1, build 6d101fb
Stellen Sie außerdem sicher, dass docker-compose und docker-machine auf dem neuesten Stand sind, als @lvthillo state
versuchen Sie, die alte Version zu deinstallieren und erneut zu installieren.
Sudo apt remove docker-compose
Sudo curl -L Sudo curl -L "https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
Sudo chmod +x /usr/local/bin/docker-compose
reboot
sollte ausdrucken
docker-compose --version
docker-compose version 1.22.0, build 1719ceb
Wir können es Ihnen nicht sagen, ohne den jeweiligen Fehler zu beobachten Überprüfen Sie ihn zuerst, indem Sie diesen Befehl ausführen
docker build .
wenn Sie den Fehler erhalten haben, suchen Sie ihn in google In meinem Fall war es der Berechtigungsfehler, als ich ihn mit Sudo versuchte.
Ich hoffe es wird dir helfen
Ich hatte docker-compose --version
vor der Implementierung der Lösung von lvthillo gemacht und bekam immer noch veraltete Versionen. Es stellte sich heraus, dass ich die Hash-Liste leeren musste, an der sich Shell hielt. hash -r
... hoffe das ist nützlich für jemanden
On osx 10.12.6 sierra
Schritte für v1.22 oder höher
Ich hatte ein spezifisches Problem/Inkompatibilität, bei dem ich Docker nicht vollständig aktualisieren wollte. Ich bin derzeit am Docker 17.06.0-ce-mac18 hängen geblieben. Also wollte ich nur Docker-Compose verbessern und sonst nichts.
Meine Schritte:
which docker-compose
docker-compose --version
= docker-compose version 1.14.0, build c7bdf9e
mv /usr/local/bin/docker-compose /usr/local/bin/docker-compose-bak
curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
docker-compose --version
= docker-compose version 1.22.0, build f46880f