Próbuję użyć $ docker-compose up -d
dla projektu i otrzymuję ten komunikat o błędzie:
BŁĄD: dla interfejsu API nie można uruchomić interfejsu API usługi: sterownik nie może programować łączności zewnętrznej w punkcie końcowym dataexploration_api_1 (8781c95937a0a4b0b8da233376f71d2fc135f46aad011401c019eb3d14a0b117): Błąd podczas uruchamiania serwera proxy użytkownika: mkp9: 0: 0: 0, 19: 0. Napotkano błędy podczas uruchamiania projektu.
Zastanawiam się, czy to może port? Wcześniej próbowałem portu 8080. Projekt został pierwotnie skonfigurowany na komputerze Mac i sklonowałem repozytorium z gitHub.
windows
github
windows-10
docker-compose
Sockness_Rogers
źródło
źródło
Odpowiedzi:
Otrzymałem ten sam komunikat o błędzie na moim Windows 10 Pro / Docker v17.06.1-ce-win24 / Docker-Compose v1.14.0 przy użyciu Windows Powershell x86 w trybie administratora.
Rozwiązaniem było po prostu ponowne uruchomienie Dockera.
źródło
docker run -p 8080:8080 --name myJenkins -p 50000:50000 jenkins/jenkins:2.107.2
. Po ustawieniu jenkinsa używamdocker stop myJenkins
w innym oknie poleceń i zamykam system Windows 10. Kiedy uruchamiam system Windows 10, który automatycznie uruchamia docker, używam poleceniadocker start myJenkins
i otrzymuję znajomą wiadomość. Jednak ponowne uruchomienie dockera rozwiązało problem :)Jeśli zdarzy się raz, ponowne uruchomienie Dockera wykona pracę. W moim przypadku działo się to za każdym razem, gdy restartowałem komputer.
W takim przypadku wyłącz Szybkie uruchamianie lub prawdopodobnie uruchomisz ponownie Dockera za każdym razem, gdy uruchomisz komputer. To rozwiązanie uzyskano stąd
źródło
Po prostu ponowne uruchomienie Dockera nie rozwiązało problemu w systemie Windows 10.
W moim przypadku rozwiązałem problem, wykonując poniższe czynności:
1) Zamknij „Docker Desktop”
2) Uruchom poniższe polecenia:
3) Ponownie uruchom „Docker Desktop”
Mam nadzieję, że to pomoże komuś innemu.
źródło
Otrzymałem również ten błąd, jeśli chcesz poznać główny powód wystąpienia błędu, ponieważ docker ma już uruchomiony podobny kontener, aby rozwiązać problem (unikaj ponownego uruchamiania Dockera), musisz:
Masz coś podobnego do:
To jest lista uruchomionych kontenerów, weź ID KONTENERA (kopiuj Ctrl+ C)
Teraz musisz zakończyć proces (i pozwolić uruchomić inny obraz) i uruchomić to polecenie.
I to wszystko! Teraz możesz stworzyć kontener.
Aby uzyskać więcej informacji, odwiedź https://docs.docker.com/get-started/part2/
źródło
Zdaję sobie sprawę, że odpowiedzi jest już wiele, ale żadna z nich nie rozwiązała problemu za mnie.
Zamiast tego pozbyłem się tego komunikatu o błędzie, resetując docker do ustawień fabrycznych :
źródło
Zwykle ten błąd występuje, gdy próbujesz uruchomić kontener, ale porty, których potrzebuje kontener, są zajęte, zwykle przez ten sam Docker, jak w wyniku zatrzymania ostatniego złego procesu.
Dla mnie rozwiązaniem jest:
netstat -oan
aby znaleźć proces (Docker to ten proces), który zajmuje twój port:W moim przypadku moje porty docker to 3306 6001 8000 9001.
Teraz musimy zwolnić te porty, więc zabijamy ten proces przez PID (kolumna PID), wpisz
Uruchom ponownie okno dokowane.
Pozdrowienia.
źródło
W moim przypadku problem polegał na tym, że kontener docker (Nginx) używa portu 80, a IIS używa tego samego. Skonfigurowanie innego portu w usługach IIS rozwiązuje problem
źródło
W większości przypadków pierwszym przypadkiem, o którym należy pomyśleć, jest to, że na tym porcie działa stara usługa. W moim przypadku, ponieważ zmieniam nazwę obrazu, to przy użyciu docker-compose do zatrzymania (potem do góry), nie zatrzyma starego kontenera (usługi), nie można uruchomić nowego kontenera.
źródło
Trochę późna odpowiedź, ale zostawię ją tutaj, może pomóc komuś innemu Na komputerze Mac mojave po wielu ponownych uruchomieniach zarówno Maca, jak i Dockera, które musiałem
sudo apachectl stop
.źródło
Najprostszym sposobem rozwiązania tego problemu jest ponowne uruchomienie dokera. Ale w niektórych przypadkach może to nie działać, nawet jeśli nie masz żadnych kontenerów uruchomionych w porcie. Możesz sprawdzić uruchomione kontenery za pomocą
docker ps
polecenia i zobaczyć wszystkie kontenery, które nie zostały wyczyszczone, ale zostały zamknięte przed użyciemdocker ps -a
polecenia.Wyobraź sobie, że istnieje kontener, który ma identyfikator kontenera
8e35276e845e
. Możesz użyć poleceniadocker rm 8e35276e845e
lubdocker rm 8e3
zakończyć kontener. Zauważ, że pierwsze 3 ciągi to identyfikator tego konkretnego identyfikatora kontenera dockera. Zatem zgodnie z powyższym scenariuszem 8e3 to identyfikator 8e35276e845e .Jeśli ponowne uruchomienie nie zadziała, możesz spróbować zmienić porty usług w pliku docker-compose.yml i zgodnie z portem apache musisz zmienić port v-hosta (jeśli taki istnieje). problem.
Dawny:
należy zmienić na
a konkretny v-host również musi zostać zmieniony,
Ex (według powyższego scenariusza):
Pomoże ci to rozwiązać powyższy problem.
źródło
Dla wielu użytkowników systemu Windows, którzy mają ten sam problem, sugerowałbym również ponowne uruchomienie komputera, ponieważ w większości przypadków (przynajmniej dla mnie) ponowne uruchamianie tylko Dockera nie działa. Proponuję więc wykonać następujące kroki:
Następnie uruchom PowerShell jako administrator i uruchom to:
Set-NetConnectionProfile -interfacealias "vEthernet (DockerNAT)" -NetworkCategory Private
Następnie uruchom ponownie Docker.
Po wykonaniu tych czynności będziesz mógł działać bez problemów. Mam nadzieję że to pomogło.
źródło