Docker совет №28: Как исправить ошибку 'Connection Reset by Peer'
Jun 14, 2018 07:04 · 172 words · 1 minute read
Вы наверняка видели эту ошибку, когда пытались подключиться к web-серверу, запущенному в docker-контейнере. К слову, отсутствие ответа от web-сервера - тоже довольно распространенная ошибка. Давайте разберемся!
В зависимости от того, какой инструмент вы используете (curl
, http
, браузер) полученные ошибки могут отличаться, но результат будет тот же - ваш web-сервер не вернет вам ожидаемую страницу.
Возможно, вы даже попытались устранить эту ошибку: например, установили curl
внутри docker-контейнера и запустили
curl localhost:3000
(или любой другой порт, на котором работает web-сервер) - и все отработало как ожидалось.
Если так и произошло - с большой долей вероятности это связано с тем, что в настройках вашего web-сервера есть привязка к localhost, то есть, что он будет доступен только внутри вашего контейнера.
Для устранения данной проблемы разрешите своему web-серверу слушать на всех доступных сетевых интерфейсах (проще говоря, вместо localhost укажите 0.0.0.0). Практически всегда это то, что нужно сделать если вы хотите предоставить публичный доступ к вашему web-приложению.
Да, и конечно же, не забудьте о пробросе портов (-p 3000:3000
) при запуске вашего docker-контейнера, если к нему нужен доступ снаружи.