Size: a a a

Docker — русскоговорящее сообщество

2020 September 28

N

Nelkor in Docker — русскоговорящее сообщество
Алексей Гуносов
У меня указано в докерфайле 8080
Зайди в контейнер и дёрни курлом 8080 порт. Примеры команд, на всякий случай на скрине
источник

N

Nelkor in Docker — русскоговорящее сообщество
И скинь результат
источник

АГ

Алексей Гуносов... in Docker — русскоговорящее сообщество
Alex Demidov
эта строка показывает порт который exposed но не published
Я с докером работаю не первый год) знаю)
источник

АГ

Алексей Гуносов... in Docker — русскоговорящее сообщество
Nelkor
И скинь результат
docker exec -it load-balancer_load-balancer_1 sh
/etc/nginx $ curl localhost:8080 -v
*   Trying 127.0.0.1:8080...
* TCP_NODELAY set
* Connected to localhost (127.0.0.1) port 8080 (#0)
> GET / HTTP/1.1
> Host: localhost:8080
> User-Agent: curl/7.67.0
> Accept: */*

* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Server: nginx/1.18.0
...
/etc/nginx $ 
/etc/nginx $ curl localhost:80 -v
*   Trying 127.0.0.1:80...
* TCP_NODELAY set
* connect to 127.0.0.1 port 80 failed: Connection refused
*   Trying ::1:80...
* TCP_NODELAY set
* Immediate connect fail for ::1: Address not available
*   Trying ::1:80...
* TCP_NODELAY set
* Immediate connect fail for ::1: Address not available
* Failed to connect to localhost port 80: Connection refused
* Closing connection 0
curl: (7) Failed to connect to localhost port 80: Connection refused
источник

N

Nelkor in Docker — русскоговорящее сообщество
А теперь с хост-машины 80)
источник

АФ

Александр Фадеев... in Docker — русскоговорящее сообщество
Алексей Гуносов
У меня указано в докерфайле 8080
ну expose, как правильно уже написали, и даже дали кусок документации, не открывает тебе порт на хосте
источник

N

Nelkor in Docker — русскоговорящее сообщество
Александр Фадеев
ну expose, как правильно уже написали, и даже дали кусок документации, не открывает тебе порт на хосте
Ну видишь, работает у него 8080 в контейнере
источник

АГ

Алексей Гуносов... in Docker — русскоговорящее сообщество
Nelkor
А теперь с хост-машины 80)
Тот же вывод, что и в контейнере на 8080
источник

N

Nelkor in Docker — русскоговорящее сообщество
Алексей Гуносов
Тот же вывод, что и в контейнере на 8080
Значит порт успешно проброшен, а проблема-то в чём?
источник

AD

Alex Demidov in Docker — русскоговорящее сообщество
Nelkor
Значит порт успешно проброшен, а проблема-то в чём?
лишние буковки в выводе docker ps его пугают :)
источник

N

Nelkor in Docker — русскоговорящее сообщество
Понял. Насчёт этого не знаю
источник

АГ

Алексей Гуносов... in Docker — русскоговорящее сообщество
Александр Фадеев
ну expose, как правильно уже написали, и даже дали кусок документации, не открывает тебе порт на хосте
Я это знаю))
Народ, не учите меня теории)
У меня вопрос, почему отображается тот порт, который я не паблишил?
Я публикую только 8080 порт контейнера на 80 порт хоста, но НЕ публикую 80 порт контейнера! Так какого он там отображается?)
источник

AD

Alex Demidov in Docker — русскоговорящее сообщество
Алексей Гуносов
Я это знаю))
Народ, не учите меня теории)
У меня вопрос, почему отображается тот порт, который я не паблишил?
Я публикую только 8080 порт контейнера на 80 порт хоста, но НЕ публикую 80 порт контейнера! Так какого он там отображается?)
порт 80 берется из контейнера FROM
источник

N

Nelkor in Docker — русскоговорящее сообщество
Алексей Гуносов
Я это знаю))
Народ, не учите меня теории)
У меня вопрос, почему отображается тот порт, который я не паблишил?
Я публикую только 8080 порт контейнера на 80 порт хоста, но НЕ публикую 80 порт контейнера! Так какого он там отображается?)
Это как раз вопрос из области теории) Мне вот тоже стало интересно, почему. Но я не знаю)
источник

AD

Alex Demidov in Docker — русскоговорящее сообщество
стандартный nginx как раз делает EXPOSE 80
источник

N

Nelkor in Docker — русскоговорящее сообщество
Alex Demidov
порт 80 берется из контейнера FROM
Но ведь expose — это просто описательная часть, а по факту на 80 порту ничего нет
источник

АГ

Алексей Гуносов... in Docker — русскоговорящее сообщество
Я видел несколько статей, в которых тоже заставляют нжинкс работать не под рутом на кастомном порту. И там опубликовывается все верно
источник

AD

Alex Demidov in Docker — русскоговорящее сообщество
Nelkor
Но ведь expose — это просто описательная часть, а по факту на 80 порту ничего нет
да. но запись в  docker ps есть. при этом запись другая нежели когда порт еще и published
источник

АФ

Александр Фадеев... in Docker — русскоговорящее сообщество
Алексей Гуносов
Я это знаю))
Народ, не учите меня теории)
У меня вопрос, почему отображается тот порт, который я не паблишил?
Я публикую только 8080 порт контейнера на 80 порт хоста, но НЕ публикую 80 порт контейнера! Так какого он там отображается?)
он и не опубликован, и этого ты как раз не понимаешь и просишь не учить теории, ну ок)
источник

N

Nelkor in Docker — русскоговорящее сообщество
Alex Demidov
да. но запись в  docker ps есть. при этом запись другая нежели когда порт еще и published
Ну... звучит разумно
источник