#docker #dockerfile
#docker #dockerfile
Вопрос:
Я не могу получить доступ к порту 8080 docker с хост-компьютера. У нас есть контейнер docker с React
приложением. Мы можем получить целевую страницу изнутри контейнера, но не с хоста.
Из контейнера:
root@d4947f7b1710:/# wget localhost:8080
--2019-04-01 19:38:00-- http://localhost:8080/
Resolving localhost (localhost)... 127.0.0.1, ::1
Connecting to localhost (localhost)|127.0.0.1|:8080... connected.
HTTP request sent, awaiting response... 200 OK
Length: 492 [text/html]
Saving to: 'index.html'
index.html 100%[===============================================================================================>] 492 --.-KB/s in 0s
2019-04-01 19:38:00 (49.5 MB/s) - 'index.html' saved [492/492]
С хоста:
wget localhost:8000
--2019-04-01 19:38:59-- http://localhost:8000/
Resolving localhost (localhost)... 127.0.0.1
Connecting to localhost (localhost)|127.0.0.1|:8000... connected.
HTTP request sent, awaiting response... Read error (Connection reset by peer) in headers.Retrying.
Также пробовал wget 0.0.0.0:8000
, но получил тот же результат.
Порты, похоже, сопоставлены правильно:
docker port d4947f7b1710
8080/tcp -> 0.0.0.0:8000
Команда, используемая для запуска контейнера:
запуск docker -d -p 8000:8080 <docker repo>
: <version>
Комментарии:
1. ну, он говорит … подключен, поэтому я предполагаю, что это какая-то другая проблема
2. вы запускали другой контейнер docker ранее или это ваш первый раз?
3. У меня есть небольшой опыт работы с docker. Не совсем новая версия.
4. хорошо, тогда маловероятно, что ваш хост docker работает на другом IP-адресе или нуждается в дополнительных сопоставлениях портов oO…
Ответ №1:
Возможно, вы инвертировали порты из того, что я вижу в последней части вашего сообщения
Комментарии:
1. facepalm Я тоже так подумал на мгновение, но просто подумал, что это другой способ его печати -.-
2. Вот команда, используемая для запуска контейнера: docker run -d -p 8000:8080 <репозиторий docker>:<версия>
3. Я тоже думал об этом, пробовал оба порта (8000,8080), но не работает.
4. Он показывает перевернутый, чем то, что вы видите в обычной
docker ps
команде, вот результаты для обеих команд: КОМАНДА docker ps CONTAINER ID IMAGE СОЗДАЛА ИМЕНА ПОРТОВ СТАТУСА 1eff46acc65f <Контейнер> «/bin / sh -c ‘npm sta …» Примерно минуту назад около минуты 80 / tcp, 5000 / tcp, 0.0.0.0:8000->8080/tcp modest_meninsky порт докера 1eff46acc65f 8080/tcp -> 0.0.0.0:8000