Я не администратор сервера, и я часто сталкиваюсь с проблемами, связанными с сервером, с портами и ssh и такими вещами. Проблема, с которой я сейчас сталкиваюсь, - это усадьба и докер.Как запустить докер-машину на усадьбе, когда порт 80 уже используется?
У меня есть приложение laravel, работающее на усадьбе. Но теперь мне также нужно запустить Process Maker тоже в усадьбе, чтобы я мог вызывать их API из своего приложения и использовать данные. Таким образом, я нашел изображение докеры eltercera/docker-processmaker
, которое хорошо работает на моем Mac и проверяет API, и они работают нормально.
Я бег изображения с этой командой:
docker run -d -e "[email protected]" -p 80:80 --name some-pkm eltercera/docker-processmaker/
И это хорошо работает. Но теперь, когда я установил докер-двигатель на моем приусадебном машине и попытался то же самое, я получил следующее сообщение об ошибке:
docker: Error response from daemon: driver failed programming external connectivity on endpoint some-pkm (dee715e3d7bf47d48f6fbb4a8ba1418009b1a811ef043e18fb232132ec3b6a2d): Error starting userland proxy: listen tcp 0.0.0.0:80: bind: address already in use.
Это говорит 0.0.0.0:80: bind: address is already in use
. Теперь я не уверен, что это значит и как разрешить это, и использовать приложение внутри моей машины-усадьбы. Это как-то связано с пересылкой портов? Я могу запустить машину, используя -p
как 90:90
, но я не знаю, как к ней будет обращаться.
Может кто-нибудь объяснить мне, что мне не хватает здесь, и чему мне нужно учиться, прежде чем двигаться вперед?
EDIT
Я пробовал:
docker run -d -e "[email protected]" -p 90:80 -h processmaker.app --name some-pkm eltercera/docker-processmaker/
И отредактировал мой /etc/hosts
файл на Mac, и теперь я могу сделать processmaker.app:90
в моем браузере, и это работает. Но это было похоже на удар и попытку. Я до сих пор не понимаю, как я это решил.