Docker nginx может подключиться, но ответа нет

319
davidshen84

Моя система - Gentoo 64 bit, с докером Docker version 18.03.1-ce, build 9ee9f40. Я следовал за вики Gentoo и настроил свою локальную среду докера.

Теперь я могу создать контейнер nginx.

docker run --rm -p 80:80 nginx 

Тогда получите страницу приветствия.

curl 127.0.0.1:80 -v 

Но если я убью первый контейнер и попытаюсь создать другой с той же командой, команда может быть выполнена успешно, но curlкоманда не будет работать.

Вывод команды curl 2-го раза будет таким, как показано ниже.

* Rebuilt URL to: 127.0.0.1:80/ * Trying 127.0.0.1... * TCP_NODELAY set * Connected to 127.0.0.1 (127.0.0.1) port 80 (#0) > GET / HTTP/1.1 > Host: 127.0.0.1 > User-Agent: curl/7.61.1 > Accept: */* >  

Тогда подожди очень долго.

* Recv failure: Connection reset by peer * Closing connection 0 

На стороне контейнера не было журнала или ошибки.

Похоже, что curlон может подключиться к nginx, но не может получить никакого ответа.

0
У меня работает .... Что говорит `докер ps -a`? xenoid 6 лет назад 0
@xenoid, `ps -a` выглядит хорошо. Я также могу `exec` в контейнере. Я уверен, что контейнер жив. davidshen84 6 лет назад 0
Может быть, вы можете проверить порт 80 с помощью команды `sudo netstat -lntp | grep 80`. Charles Xu - MSFT 6 лет назад 0
Сделал это первым делом. Порт 80 освобождается после убийства 1-го контейнера и открывается после запуска 2-го контейнера. davidshen84 6 лет назад 0

0 ответов на вопрос

Похожие вопросы