PHP в Dcoker, Предупреждение: socket_bind (): невозможно связать адрес [98]: адрес уже используется в /var/www/html/websocket/server.php в строке 28 - PullRequest
0 голосов
/ 05 мая 2019

Я использую официальные образы PHP7, моя команда запуска Docker: docker run -p 9000:9000 --name php -v $site_path:/var/www/html/ --privileged=true -d php:php72

$site_path - это каталог, в котором был сохранен мой php-код, затем я оказался в контейнере Docker, используйте php server.php и получил предупреждение выше.

Я также пытался запустить скрипт без 9000 порта, как 9001, затем скрипт работал, но я не могу подключиться к серверу с моим JS

Я пытался использовать php server.php в моей локальной среде (не в докере), и это сработало, JS также успешно его подключил.

1 Ответ

0 голосов
/ 05 мая 2019

Ваш порт 9000 и 9001 уже заблокирован запущенными контейнерами или локальным программным обеспечением.

docker ps показывает все запущенные контейнеры и порт, который они блокируют. Если не требуется, удалите этот контейнер с docker rm [-f] <name>. Если вы используете Linux, вы можете проверить, что еще работает локально на порту 9000/9001, посмотрев на netstat -lnp. Остановите процессы тоже.

Обратите внимание, что вам не нужно менять порт в вашем контейнере, если вы хотите попробовать новый целевой порт на хосте. Вы также можете сделать: -p9002:9000, если вам нужна служба, доступная через порт 9002 на вашем локальном хосте.

...