Я обычный пользователь, а не профессионал в сетях. Использую Docker, чтобы запускать пару контейнеров, в основном для хобби. Мне нравится работать с докер-контейнерами для простых приложений, потому что есть множество контейнеров под разные задачи, и их легко попробовать. Но иногда мне хотелось бы, чтобы они вели себя как виртуальные машины — то есть появлялись в сети как отдельные устройства. Раньше я использовал сеть Macvlan, чтобы некоторые контейнеры получали собственный IP в сети, но столкнулся с двумя проблемами:
Первое — сервер Docker раздавал эти IP, вместо того чтобы просто дать им обращаться к роутеру. Мне удалось это настроить, но получилось неидеально. Второе — Macvlan изолирует хост, поэтому контейнеры в этой сети не могут видеть и взаимодействовать с устройствами на том же физическом компьютере, только с остальными в сети. Слышал, что есть способы обойти это, но они плохо описаны или объяснены, и иногда предупреждают, что это временное решение — после перезагрузки машины все придется делать заново.
Интересно, есть ли способы решить эти проблемы, которые под силу человеку с моими ограниченными знаниями? Например, можно ли просто задать сеть Macvlan как всю мою локальную сеть и указать использовать роутер в качестве шлюза, а не Docker-сервер — чтобы контейнеры напрямую просили IP у роутера? Есть ли понятное руководство по созданию постоянного моста между macvlan и хост-системой? И решит ли что-то из этого использование ipvlan вместо Macvlan?
Первое — сервер Docker раздавал эти IP, вместо того чтобы просто дать им обращаться к роутеру. Мне удалось это настроить, но получилось неидеально. Второе — Macvlan изолирует хост, поэтому контейнеры в этой сети не могут видеть и взаимодействовать с устройствами на том же физическом компьютере, только с остальными в сети. Слышал, что есть способы обойти это, но они плохо описаны или объяснены, и иногда предупреждают, что это временное решение — после перезагрузки машины все придется делать заново.
Интересно, есть ли способы решить эти проблемы, которые под силу человеку с моими ограниченными знаниями? Например, можно ли просто задать сеть Macvlan как всю мою локальную сеть и указать использовать роутер в качестве шлюза, а не Docker-сервер — чтобы контейнеры напрямую просили IP у роутера? Есть ли понятное руководство по созданию постоянного моста между macvlan и хост-системой? И решит ли что-то из этого использование ipvlan вместо Macvlan?
