Oto mój plik docker-compose.yml:
version: '3.1'
services:
a:
image: tutum/hello-world
b:
image: tutum/hello-world
secrets:
id: my_password
Jeśli biegnę $ docker-compose-up
, dostaję to:
Wersja w „./docker-compose.yml” nie jest obsługiwana. Możesz zobaczyć ten błąd, ponieważ używasz niewłaściwej wersji pliku tworzenia.
Moja wersja docker-compose:
$ docker-compose --version
docker-compose version 1.11.0, build 6de1806
Co tu jest nie tak? Czy moja wersja docker-compose nie powinna obsługiwać wersji 3.1 specyfikacji docker-compose.yml (zgodnie z uwagami do wydania tak)?
docker-compose
Eric
źródło
źródło
docker-compose
i niedocker compose
docker-compose
tylkoDocker Compose
technologią .. docs.docker.com/compose"3.6"
. Mój doker to18.03.0-ce, build 0520e24
Odpowiedzi:
Robisz wszystko dobrze i to powinno działać. Ale pojawił się błąd w docker-compose 1.11.0, który nie rozpoznał formatu pliku 3.1 jako prawidłowego. (Działa 3.0).
Jest już nowe wydanie docker-compose (1.11.1), które zawiera poprawkę błędu:
Dlatego poleciłbym uaktualnienie wersji docker-compose, jeśli chcesz używać formatu pliku 3.1.
W tej chwili najbezpieczniejszym sposobem uaktualnienia docker-compose jest usunięcie go i ponowne zainstalowanie.
Zainstaluj ponownie:
Teraz nie ma już błędu w formacie pliku. (Nie testowałem z twoim .yml).
źródło
curl
polecenie nie jest wykonywane. .. mówi odmowa pozwolenia.curl
polecenia, spróbuj tego: docs.docker.com/compose/install/#install-composeRozwiązałem ten problem, uaktualniając docker-compose.
Wykonaj poniższe kroki, aby zaktualizować docker-compose w systemie ubuntu16.04
krok 1:
krok 2:
krok 3:
krok 4:
źródło
sudo apt install docker-compose
powiedz mi, że mam już wersję, idocker-compose up
powiedz, że nie mam zainstalowanego docker-compose. Dlaczego nie używacie apt? Mam teraz dwa problemy.Jeśli wersja pliku to 3.7 i pojawi się następujący błąd:
Oto rozwiązanie: -
(1)
sudo apt-get remove docker-compose
LUBsudo rm /usr/local/bin/docker-compose
(2)
sudo curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
(3)
sudo chmod +x /usr/local/bin/docker-compose
(4)
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
Mam nadzieję, że to rozwiąże problem.
źródło
Jeśli używasz linux / ubuntu , jest to może oczywiste, ale uważaj, aby uruchomić jako root, np
Daje
vs
Daje
Upewnij się również, że docker-compose i docker-machine są aktualne, jak stwierdza @lvthillo
źródło
Zrobiłem to
docker-compose --version
przed wdrożeniem rozwiązania lvthillo i wciąż pojawiały się przestarzałe wersje. Okazało się, że muszę wyczyścić listę hashów, którą trzymała moja powłoka bash.hash -r
... mam nadzieję, że przyda się to komuś innemuźródło
spróbuj odinstalować starą wersję i ponownie zainstalować.
powinien wydrukować
źródło
Nie możemy ci powiedzieć bez oglądania konkretnego błędu, najpierw sprawdź go, uruchamiając to polecenie
docker build .
kiedy pojawi się błąd, wyszukaj go w google w moim przypadku był to błąd uprawnień, gdy próbowałem go z sudo, zadziałało.Mam nadzieję, że to ci pomoże
źródło
Na osx 10.12.6 sierra
Kroki dla wersji 1.22 lub nowszej
Miałem konkretny problem / niezgodność, w którym nie chciałem całkowicie zaktualizować dockera. Utknąłem w tej chwili na dockerze 17.06.0-ce-mac18. Chciałem więc tylko uaktualnić docker-compose i nic więcej.
Moje kroki:
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
źródło