Конкретная цель разработки Docker заключается в том, чтобы контейнеры не могли напрямую получить доступ к конфигурации сети хоста. Обходные пути, которые вы определили, являются практически единственным способом сделать это.
Если вы пытаетесь каким-либо образом изменить конфигурацию сети хоста (например, вы пытаетесь запустить VPN)вам, вероятно, лучше запустить его за пределами Docker. В любом случае, вам все равно понадобится разрешение root, но вам не нужно будет отключать кучу стандартных ограничений, чтобы делать то, что вам нужно.
Если вы пытаетесь указать какой-либо адрес, по которому можно обратиться к службетребуется использование конфигурации, например, переменной среды. Даже если вы можете получить доступ к конфигурации хоста, это может быть не тот адрес, который вам нужен: рассмотрите облачную среду, в которой вы работаете на облачном экземпляре за балансировщиком нагрузки, а внешним клиентам нужен балансировщик нагрузки;это не то, что вы можете узнать напрямую, учитывая только сетевую конфигурацию хоста.