recipiente lxd: encaminhamento de porta como docker

Existe uma maneira de fazer encaminhamento de porta em contêineres lxd como o docker faz?

Ouvi alguns rumores de que não há maneira fácil.

De acordo com a página inicial do lxd, esse é o objetivo deles:

Intuitivo (API simples e clara e experiência de linha de comando nítida)

Para mim, o encaminhamento de porta é uma parte importante.

Não tenho pressa. Se for planejado para uma versão futura, esta seria uma resposta válida.

Quatro anos depois, a previsão dada em resposta felizmente também pesimisitc. O encaminhamento de porta foi implementado no LXD enquanto isso, como é documentado aqui.

Para encaminhar a porta 80 no host para 8080 no contêiner, basta fazer

lxc config device add jitsi port1 proxy listen=tcp:<hostip>:80 connect=tcp:<ontainerip>:8080

Um dos desenvolvedores escreveu em problema sobre o tema:

Isso foi fechado, mas para dar uma resposta clara: lxd (pelo menos comoatualmente pretendido) não fará rede de host. Portanto, em geral, você encaminharia para um servidor da web em um contêiner lxd a mesma maneira que faria com o lxc - você pode passar uma nic do hostinto para o contêiner e fazer com que seu roteador local forneça seu próprio endereço; ou use rede baseada em rota para o contêiner veths; oruse o encaminhamento iptables para encaminhar o tráfego do host para o contêiner(que é o que eu costumo fazer).

Ver https://help.ubuntu.com/lts/serverguide/lxc.html#lxc-networkpara mais informações.

Então, eu tenho medo, como as coisas estão atualmente, não há encaminhamento de porta, nem agora nem no futuro. (Esta previsão acabou por não ser verdade)

@womble se esta linha é tudo o que é necessário, então eu vou upvote um aceitar a sua resposta. Por favor, preencha seu comentário como resposta. Obrigado.

Não tenho certeza se isso ajuda você, mas é possível apenas atribuir uma interface de rede ao seu contêiner. Portanto, não há mais muita necessidade de fazer o encaminhamento de porta…

@gf_yesterday você disse “É possível atribuir uma interface de rede ao seu contêiner”. Posso lidar com essa solução (atribuindo uma nova interface de rede) … mas eu sou preguiçoso. Eu prefiro encaminhamento de porta.

There’s no easy way only if `iptables -t nat -I PREROUTING -d - p tcp --dport - J DNAT …para :