Oleg
подскажите, пжлст, что бы контейнеры сами поднимались после перезапуска docker.service надо в docker-compose файле restart: unless-stopped прописать?
Dan
Alexandr
Привет всем, пытаюсь развернуть фулл стак приложение в докере, стэк - nextjs, nestjs, mysql.
Бэк:
Развернул в докере, без каких либо проблем, ниже прикладываю скрины DockerFile и docker-compose
Фронт:
Так же пробовал развернуть, но по какой-то причине вылазит ошибка "getaddrinfo EAI_AGAIN mysql". Может необходимо как-то по отдельности запускать фронт/бэк/бд? Не понимаю в чем дело. Прикладываю скрины DockerFile и docker-compose, а так же env.
Alexandr
Alexandr
Так же скрин самой ошибки.
Vitaly
как к mysql стучитесь?
Vitaly
и 127.0.0.1 внутри контейнера уже не верно если его во вне выставляете
Vitaly
ии зачем app на 3306 вывешивать? )
🏳️ Phil
Как-то я пропустил, что я - потомок Бату-хана - делаю в русском сообществе? И когда оно стало русским?
Dan
Dan
Dan
И пока Соломон не сошел с ума - ещё и официальное. А потом уже просто на автомате :)
🏳️ Phil
Вячеслав
Добрый день, при запуске контейнера с rancher 2.6 на докере (centos 8) получаю
Waiting for server to become available: Get "https://127.0.0.1:6444/version?timeout=15m0s": dial tcp 127.0.0.1:6444
но с 2.5.5 всё хорошо, что может быть не так?
$continue$
всем привет, можно ли как-то в dockerfile использовать правила iptables? :)
Evgeniy
докер файл используется на этапе билда
Evgeniy
билд и запуск контейнера может быть на разных машинах
Evgeniy
и там где запускается уже не выполняется докер файл
Evgeniy
так зачем туда в докерфайл прокидывать iptables и использовать правила , какую проблему пытаетесь решить ?
$continue$
Evgeniy
а зачем ?
Evgeniy
вот представьте докер может работать в условном кластере, через swarm или k8n
вы на каждой ноде хотите настроить iptables и dockerfile другова образа чтобы он управлял другим контейнером ?
$continue$
$continue$
а зачем ?
wireguard, service1.
service1 вешается на 0.0.0.0. Надо чтобы доступ был только из туннеля до сервиса
Evgeniy
wireguard это тоже контейнер ?
$continue$
Evgeniy
ну так поместите wireguard и service1 в один network
и тогда service1 вообще не надо вывешивать наружу
$continue$
$continue$
Они и так в одной сети
$continue$
Но сеть докера и сеть wg ничего о друг друге не знают до момента порт форвардинга))
Evgeniy
а зачем вы сеть докера и сеть wg ?
$continue$
Может быть можно как-то проще, но я только так смог решить ¯\_(ツ)_/¯
Evgeniy
если у вас контейнер wg запущен и service1 в одном network
то с wg контейнера можно пинговать service1 или напрямую по ip
Evgeniy
другое дело как это сделать клиентам которые подключены к серверу wg
так у них другой днс они service1 не от резолвят
а обращаться по ip он может изменится
$continue$
а зачем вы сеть докера и сеть wg ?
У wg своя сеть. Условно 10.x.x.x, у докера своя сеть. Когда вы попытаетесь обратится с клиента WG (например: 10.10.10.5), то как бы оно уйдет на сервер, но сервер не сможет ничего с этим сделать
$continue$
я только с порт форвардингом придумал, но нельзя засейвить правила в докер и это обидно. В целом рабочая схема
Evgeniy
сделайте трасировку с клиента
куда он шлет пакеты
$continue$
Evgeniy
я честно говоря не понимаю проблему
$continue$
Клиент WG -> сервер -> докер вг, внезапно в докере вг нет такого порта, куда стучать -> тайм-аут
Evgeniy
так вы с клиента не на сервер стучитесь
Evgeniy
а на ip service1
Evgeniy
чтобы
wg client => wg server => service1:port было
$continue$
Изначально было это
Evgeniy
--cap-add NET_ADMIN но это не то что вам нужно
Evgeniy
Evgeniy
где обрывается
какая там маршрутизация
$continue$
$continue$
$continue$
$continue$
Вы работали с ВГ?
Evgeniy
так ваш запрос должен идти в wireguard а не в роутер, с клиента
$continue$
$continue$
WG на роутере
Evgeniy
так роутер куда пакет шлет ?
Evgeniy
с роутера попруйте телнетом подключится к сервису
Evgeniy
mtr утилитой посмотреть
$continue$
Я не уверен, но вг же ничего не знает о айпишнике докера))
Разве это не так?
Evgeniy
допустим у service1 ip 10.15.15.15 например
у клиента wg 10.10.101.10 и шлюз 10.10.10.1
когда с клиента пытаетесь соединиться с 10.15.15.15
надо на клиенте посмотреть таблицу маршрутизации, какой там выбирается интерфейс для отправки пакетов
должен выбираться интерфейс 10.10.10.10 и пакет идти на 10.10.10.1
далее придя пакет на 10.10.10.1 уже на wg сервере надо смотреть маршуртизацию
и тут пакет должен уже идти через общую виртуальную сеть с service1 и цель уже 10.15.15.15
$continue$
Evgeniy
там только одна проблема с днс может быть
так как service1 не обязан висеть всегдан а 10.15.15.15 он может брать случайные адреса из пула брать
его можно подсократить и вешать на конкретные адреса (костыль конечно)
либо надо подключаться к днс докера чтобы резолвить корректно service1
$continue$
$continue$
так что похер, работает - не трогай)))
$continue$
Evgeniy
я честно говоря в это не залазию
но есть там способ вешать контейнер на один айпишнег
но это все в кластерах весело работает
Alexandr
Привет всем, бэк на nestjs не видит redis. Хотя он уже открыт на этом порту. В чем может быть проблема?
Alexandr
Alexandr
Evgeniy
В том что ты подключается по 127.0.0.1 на первом скрине это видно
TK
Если они в одной сети дефолтной, не обязательно указывать везде сеть дефолт, объявите в начале эту сетку на все сервисы и попробуйте.
Alexandr
TK
Mr.
В чем может быть прична разници скорости интернета в контейнере и поза?
Внутри 60 мегабит, в не контейнера на Windows 700 мегабит
https://github.com/docker/for-win/issues/13336
Mr.
на linux вроде все хорошо