George
секурность при этом не пострадает. Летенси - то же сильно не вырастет, т.к. все равно будет докер бридж
Alex
Alex
чем плохо
George
nginx в контейнере?
Alex
просто сайт нехрена не вываливаеться
Alex
из контейнера
Alex
только если --binding 0.0.0.0 --port 9001
Alex
вот так пропишу - тогда работает
George
"
далее я хочу посмотреть его работу командой - выполняю это на сервере а не контейнере
curl -L http://ip-containera:9001
получаю
curl: (7) Failed to connect to 172.20.0.12 port 9001: Connection refused "
George
о господи.
Alex
смысл тогда в -p 9001:3000
George
172.20.0.12:3000 тебе надо было делать
Alex
George
т.е. ты идешь <ip_host>:9001дальше магия и оно само проваливается в контейнер
George
🤦♂️
Alex
George
ну, надо инспектировать
George
у всех работает
Alex
я же понимаю это - но чет не работает
George
телепаты в отпуске
George
попробуй тупейший вариант
George
docker run -it —rm -p 5000:80 nginx
George
и посмотри сможешь ли с хостовой тачки зайти по локалхост:5000
Alex
вот в контейнере
Alex
root@4d13d5e591d0:~# netstat -tunlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:3000 0.0.0.0:* LISTEN 21/puma 3.12.0 (tcp
tcp 0 0 127.0.0.11:37764 0.0.0.0:* LISTEN -
udp 0 0 127.0.0.11:54740 0.0.0.0:* -
root@4d13d5e591d0:~#
Alex
пума запущена
root@server-5:~# curl -L http://172.20.0.12:9001
curl: (7) Failed to connect to 172.20.0.12 port 9001: Connection refused
root@server-5:~#
George
я сейчас ругаться буду
Alex
"NetworkID": "8132c8e2bf9568466a73fa587d3841330e1cb0cedde15858f696667b18faee58",
"EndpointID": "c4f3637b3720b8f7d7f13135f4fac7d2e6a4840df8e3ac98c43f099da8acaba7",
"Gateway": "172.20.0.1",
"IPAddress": "172.20.0.12",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"MacAddress": "02:42:ac:14:00:0c",
"DriverOpts": null
George
что такое 172.20.0.12?
Alex
это инспект
George
ты прочитал, что я тебе пишу?
George
у тебя не должно работать по адрес_контейнера:9001
George
https://t.me/docker_ru/138817 - это понятно?
George
ip_host - это не адрес контейнера, а адрес хост-машины с докер-демоном
George
@a_aversus стало ясно?
George
docker ps, netstat -tlpn на хост машине сделай
Petr
docker container ls
Petr
используйте понятные интерфейсы
George
чисто проверить, что вообще работает
George
docker run -it —rm -p 5000:80 nginx
Alex
root@server-5:~# netstat -tlpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 11189/nginx -g daem
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1244/sshd
tcp6 0 0 :::9001 :::* LISTEN 16751/docker-proxy
tcp6 0 0 :::22 :::* LISTEN 1244/sshd
root@server-5:~#
Alex
порт 9001 есть - это я видел
Alex
все как бы нормально
George
да, это хорошо.
Alex
и в контейнре вот
Alex
root@4d13d5e591d0:~# netstat -tunlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:3000 0.0.0.0:* LISTEN 21/puma 3.12.0 (tcp
tcp 0 0 127.0.0.11:37764 0.0.0.0:* LISTEN -
udp 0 0 127.0.0.11:54740 0.0.0.0:* -
root@4d13d5e591d0:~#
Alex
все круто
George
tcp 0 0 127.0.0.1:3000 0.0.0.0:* LISTEN 21/puma 3.12.0 (tcp
Alex
но
curl -L http://172.20.0.12:9001
curl -L http://127.0.0.1:9001
Alex
не работает
George
почему у тебя пума на 127.0.0.1 слушает?
George
должна на 0.0.0.0
Alex
root@4d13d5e591d0:~# rails server
=> Booting Puma
=> Rails 4.2.1 application starting in development on http://localhost:3000
=> Run rails server -h for more startup options
=> Ctrl-C to shutdown server
Puma starting in single mode...
* Version 3.12.0 (ruby 2.3.8-p459), codename: Llamas in Pajamas
* Min threads: 0, max threads: 16
* Environment: development
* Listening on tcp://localhost:3000
Use Ctrl-C to stop
George
🤦♂️🤦♂️🤦♂️🤦♂️
George
моя толерантсность кончилась
George
Alex
сделай это
ок - спасибо на наводку - сейчас посмотрю
George
я просто не обратил на это внимание, т.к. у тебя выше пума на 0.0.0.0 слушает https://t.me/docker_ru/138768
George
а тут локалхост... подстава... удар ниже пояса
George
--port 3000
George
- так правильно
George
удивительно, но из всего массива возможных комбинаций ты выбрал именно неверные )
Alex
да - получилось
* Environment: development
* Listening on tcp://0.0.0.0:3000
Use Ctrl-C to stop
root@server-5:~# curl -L http://127.0.0.1:9001 - это работает
Alexander
У меня просто мысли заканчиваются в какую сторону смотреть
Alexander
В логах только такое есть:
2019/08/07 14:06:58 [error] 6#6: *27829 connect() failed (111: Connection refused) while connecting to upstream, client: my-ip, server: server.some.example.com, request: "GET /?token= HTTP/1.1", upstream: "http://172.18.0.2:20000/?token=", host: "server.some.example.com"
Alex
George
George
вообще nginx очень плохо для проксирования... только если не делать, как я рекомендовал @a_aversus
George
- т.е. по реальному айпи хоста + порты
George
George
и нгинкс резолвит этот ДНС ТОЛЬКО ПРИ ЗАПУСКЕ
George
опачки, да?