Четыре года спустя предсказание, данное в этот ответ был, к счастью, слишком pesimisitc. Тем временем в LXD была реализована переадресация портов, как есть задокументировано здесь.
Чтобы перенаправить порт 80 на хосте на порт 8080 в контейнере, просто выполните
Один из разработчиков написал в этот вопрос о теме:
Это было закрыто, но чтобы дать четкий ответ: lxd (по крайней мере, предполагаемый в настоящее время) не будет подключаться к сети хоста. Таким образом, в общем случае вы бы перенаправили порт на веб-сервер в контейнере lxd так же, как вы бы поступили с lxc - вы можете передать сетевой адаптер с хоста в контейнер и попросить свой локальный маршрутизатор предоставить ему свой собственный адрес; или использовать сеть на основе маршрутов для контейнерных веток; или использовать переадресацию iptables для переадресации трафик хоста в контейнер (что я обычно и делаю).
@womble, если эта одна строка - все, что нужно, тогда я проголосую за принятие вашего ответа. Пожалуйста, заполните свой комментарий в качестве ответа. Спасибо.
Не уверен, поможет ли вам это, но можно просто назначить сетевой интерфейс вашему контейнеру. Таким образом, больше нет такой большой необходимости в переадресации портов…
@gf_yesterday вы сказали: “вашему контейнеру можно назначить сетевой интерфейс”. Я могу справиться с этим решением (назначение нового сетевого интерфейса)… но я ленив. Я предпочитаю переадресацию портов.