Я пытаюсь использовать $ docker-compose up -d
для проекта и получаю это сообщение об ошибке:
ОШИБКА: для API. Невозможно запустить службу. API: драйвер не смог запрограммировать внешнее подключение к конечной точке Обнаружены ошибки при запуске проекта.
Мне интересно, если это может быть порт? Я пробовал порт 8080 ранее. Первоначально проект был создан на Mac, и я клонировал репозиторий из gitHub.
windows
github
windows-10
docker-compose
Sockness_Rogers
источник
источник
Ответы:
Я получил такое же сообщение об ошибке на моем Windows 10 Pro / Docker v17.06.1-ce-win24 / Docker-Compose v1.14.0 с использованием Windows Powershell x86 в режиме администратора.
Решением было просто перезапустить Docker.
источник
docker run -p 8080:8080 --name myJenkins -p 50000:50000 jenkins/jenkins:2.107.2
. Закончив настройку jenkins, я используюdocker stop myJenkins
в другом окне команд и выключаю хост Windows 10. Когда я запускаю windows 10, которая автоматически запускает docker, я использую командуdocker start myJenkins
и получаю знакомое сообщение. Тем не менее, перезапуск докера решает проблему :)Если это произойдет один раз, перезапуск Docker сделает всю работу. В моем случае это происходило каждый раз, когда я перезагружал свой компьютер.
В этом случае отключите быстрый запуск , иначе вы, вероятно, перезапустите Docker при каждом запуске компьютера. Это решение было получено здесь
источник
Простое перезапуск Docker не решило проблему для меня в Windows 10.
В моем случае я решил проблему с точными шагами ниже:
1) Закрыть «Docker Desktop»
2) Запустите команды ниже:
3) Запустите "Docker Desktop" снова
Надеюсь, это поможет кому-то еще.
источник
Я также получил эту ошибку, если вы хотите знать основную причину возникновения ошибки, потому что docker уже запускает подобный контейнер, чтобы решить проблему (избегайте перезапуска Docker), вы должны:
Вы получили что-то похожее на:
Это список запущенных контейнеров, взять идентификатор CONTAINER (копировать Ctrl+ C)
Теперь вы должны завершить процесс (и позволить запустить другой образ) запустить эту команду.
И это все! Теперь вы можете создать контейнер.
Для получения дополнительной информации посетите https://docs.docker.com/get-started/part2/
источник
Я знаю, что ответов уже много, но ни один из них не решил для меня проблему.
Вместо этого я избавился от этого сообщения об ошибке, восстановив заводские настройки docker :
источник
Обычно эта ошибка возникает, когда вы пытаетесь запустить контейнер, но порты, в которых он нуждается, заняты, как правило, тем же Docker, как в результате последней неудачной остановки процесса.
Для меня решение:
netstat -oan
чтобы найти процесс (Docker - это тот процесс), который занимает ваш порт:В моем случае мои док-порты 3306 6001 8000 9001.
Теперь нам нужно освободить эти порты, поэтому мы собираемся убить этот процесс с помощью PID (colum PID), типа
Перезапустите докер.
С уважением.
источник
В моем случае проблема заключалась в том, что док-контейнер (Nginx) использует порт 80, а IIS - тот же. Настройка другого порта в IIS решает проблему
источник
В большинстве случаев, первый случай, о котором вы должны подумать - это старая служба, работающая и использующая этот порт. В моем случае, так как я меняю имя изображения, то при использовании docker-compose для остановки (затем вверх) он не остановит старый контейнер (службу), приводить к тому, что новый контейнер не может быть запущен.
источник
Немного поздний ответ, но я оставлю его здесь, он может помочь кому-то еще. На мохаве Mac после многих перезапусков Mac и Docker, которые мне пришлось сделать
sudo apachectl stop
.источник
Самый простой способ решить эту проблему - перезапустить докер. Но в некоторых случаях это может не сработать, даже если у вас нет контейнеров, работающих в порту. Вы можете проверить работающие контейнеры с помощью
docker ps
команды и увидеть все контейнеры, которые не были очищены, но закрыты до использованияdocker ps -a
команды.Представьте, что есть контейнер с идентификатором контейнера.
8e35276e845e
Вы можете использовать командуdocker rm 8e35276e845e
или,docker rm 8e3
чтобы завершить контейнер. Обратите внимание, что первые 3 строки являются идентификатором этого конкретного идентификатора контейнера Docker. Таким образом, согласно вышеописанному сценарию 8e3 является идентификатором 8e35276e845e .Если перезапуск не работает, вы можете попробовать изменить порты служб в файле docker-compose.yml, и в соответствии с портом apache вы должны изменить порт v-хоста (если есть). Это решит вашу проблему. проблема.
Пример:
должен быть изменен на
и конкретный v-хост также должен быть изменен,
Ex (согласно вышеописанному сценарию):
Это поможет вам решить вышеуказанную проблему.
источник
Для многих пользователей Windows, имеющих такую же проблему, я бы предложил перезагрузить компьютер, потому что в большинстве случаев (по крайней мере для меня) перезапуск только Docker не работает. Итак, я бы посоветовал вам выполнить следующие шаги:
Затем запустите PowerShell от имени администратора и выполните следующее:
Set-NetConnectionProfile -interfacealias "vEthernet (DockerNAT)" -NetworkCategory Private
После этого перезапустите Docker.
После выполнения этих шагов вы сможете запустить без проблем. Надеюсь, это поможет.
источник