Комментарии 5
Подтверждаю, способ рабочий, отмечу лишь что в k8s же изначально есть понятие пода, в поде у всех входящих в него контейнеров общий сетевой стек.
Соответственно решаемая проблема в этой статье для k8s это штатная возможность.
А настроить дома k3s/k0s достаточно просто.
Два вопроса.
Нафига?
Нафига на Хабре?
По второму пункту особенно интересно. Тут же одни чайники и не умеют с докером работать )))
Нафига?
Нужно было решить такую задачу.
Нафига на Хабре?
network_mode: "container:IDorName" считаю малоизвестной функцией. Если бы такая статья была на Хабре, то я бы сэкономил время.
Может кто-нибудь скажет мне в комментариях, что есть решение еще лучше или укажет на ошибки.
Более подробный ответ на первый вопрос: Если есть несколько репозиториев под контролем версий с приложениями в контейнерах, которые не настроены на выход в сеть через тоннель, но для разработки их нужно запускать с выходом в сеть через тоннель или напрямую, не меняя файлы под контролем версий (docker-compose.yml, Dockerfile), держать настройки запуска через тоннель в том же репозитории, но не под контролем версий и удобно запускать приложения.
С подходом с Wireguard в отдельном контейнере нужно добавить в каждый репозиторий docker-compose.override.yml файл с network_mode: 'container:vpn' и networks: - vpn и запускать как обычно.

Один из способов пустить весь трафик Docker контейнера через Wireguard в другом контейнере