Zaur
надо мной уже посмеялись в чате питона) видимо и здесь придется унижаться
Yuri
надо мной уже посмеялись в чате питона) видимо и здесь придется унижаться
если порт тебе заранее известен, то передай его как параметр при старте контейнера
Yuri
Это будет правильно/
Zaur
в попытке запустить питон скрипт, который общается с nodejs, я сломал питон, и теперь он не запускается. Думаю запустить питон скрипт в докере, который будет дергать nodejs по указанному порту
Yuri
Потому что контейнеры изолированные и врядли ты получишь инфу о том, что происходит в системе.
Zaur
да, порт известен, вот я и спрашиваю как передать порт в контенер, с докером не имел дело
Yuri
env
Yuri
у тебя докер через compose или через run?
Zaur
run
Yuri
run
docker run -e NODEJS_PORT=‘100’
Zaur
docker run -e NODEJS_PORT=‘100’
вот передал я значение порта. теперь внутри делаю запрос http://localhost:<port> и получаю ошибку, внутри докера порт ни кем не занят получатеся
Yuri
а что за ошибка?
Yuri
а почему ты делаешь локалхост?
Zaur
ConnectionRefusedError: [Errno 111] Connection refused
Yuri
бля с сетями как у тебя?
Zaur
не очень)
Yuri
хреново
Yuri
докер свою сеть строит
Zaur
я понимаю что надо пробросить сам порт
Zaur
а не его значение
Yuri
у него своя экосистема.
Zaur
изначально я это и спрашивал
Yuri
я понимаю что надо пробросить сам порт
ты должен пробросить ип твоей тачки и порт
Yuri
локалхост это контейнер с твоим приложением
Yuri
банально ип твоей тачки 31.31.31.31, а ип в контейнере 172.0.0.1
Yuri
localhost в контейнере = 172.0.0.1
Yuri
docker run -e NODEJS_PORT=‘100’ TACHKA_PORT=‘’
Zaur
как получить TACHKA_PORT?
Yuri
как получить TACHKA_PORT?
да я хз какая у тебя система/
Yuri
ifconfig наверное
Zaur
получилось) спасибо 😅
Maxim
как получить TACHKA_PORT?
TACHKA_PORT лучше получать с помощью команды, а не вручную, у вас может быть один адрес, а у коллег может быть другой
Yuri
docker run -e
Maxim
там же идет проброс через env
Все верно, пробросить через .env, а в .env добавить этот ip с помощью простой команды
Maxim
docker run -e
Тогда ещё проще, в место указания ip вручную просто написать команду которая подставит нужное значение
Anton
парни я не понял, как так, в сети докера доступен порт интерфейса?
Maxim
можно
Сможете назвать команду как получить ip docker хоста? ;)
Anton
@rttrttrtt ты лучше мне обьясни как так?
Yuri
Сможете назвать команду как получить ip docker хоста? ;)
слушай мы нормально в чатике юпи общались, че начал-то на «Вы»
Yuri
Сможете назвать команду как получить ip docker хоста? ;)
а там не докер хост 🙂 там тачкахост
Maxim
слушай мы нормально в чатике юпи общались, че начал-то на «Вы»
В этом чатике я ко всем на вы, а то меня забанили в readonly тут за небольшой офтопчик) так что не обращай внимания на это, бро
Anton
порно какое-то
я тут не одмин, прости))
Maxim
порно какое-то
Нормалды, тут большое сообщество, а не наш ламповый чатик )
Anton
Yuri
когда порт тачки и ип тачки прокинул
Maxim
а там не докер хост 🙂 там тачкахост
Хост на котором установлен docker имеет специальный ip для docker, на вендозе он статичный, на linux статичный, на MacOS он (неожиданно) динамический
Maxim
ну яблоки впереди плонеты всей как всегда)
Ну вот что бы получилось универсальное решение которое будет работать везде то лучше использовать подстановку ip docker интерфейса на хосте с помощью команды, а не ручками писать 172.17.0.1
Anton
у тебя стобудов есть
Anton
вдруг я на мак заработаю))
Yuri
вы слвшали меня?
Anton
вы слвшали меня?
не, ты далеко, плохо слышно из-за урала)
Maxim
вы слвшали меня?
Да, это было громко
Yuri
ну все я спать теперь
Maxim
ну тогда запости сюда env файлик определением remote_host на всех ОС
Команда выведет в консольке (stdout) ipшник docker на linux это должен быть 172.17.0.1 docker network inspect --format='{{range .IPAM.Config}}{{println .Gateway}}{{end}}' bridge Примерчик: docker run -e DOCKER_HOST_IP=DOCKER_HOST_IP=$(docker network inspect --format='{{range .IPAM.Config}}{{println .Gateway}}{{end}}' bridge) -e APP_ENV=dev e.t.c. Для добавления в .env файл можно юзать примерно так echo "DOCKER_HOST_IP=$(docker network inspect --format='{{range .IPAM.Config}}{{println .Gateway}}{{end}}' bridge) " >> path/to/.env
Maxim
Можно ещё в .bashrc добавить переменную окружения чтоб не муздыкаться с подобными громоздкими констрюкциями
Zaur
локально на macos все работает, а вот на сервере debian не заводится grpc: the connection is unavailable подскажите куда смотреть?
Zaur
FROM python:3 WORKDIR /usr/src/hcb RUN pip install telethon RUN pip install requests COPY proto.py . CMD [ "python", "proto.py" ]
Zaur
да
Maxim
это перебор
Я тоже думал что перебор, но потом меня переубедил один админ и показал примеры, в общем оказывается что это даже удобно иногда