Um utilizador do ZimaOS queria que um contentor Docker tivesse o seu próprio endereço na mesma LAN que o servidor. A IceWhale explicou que a bridge predefinida já atribui ao contentor um endereço interno, enquanto um endereço geralmente visível na LAN requer macvlan.
O longo exemplo de comandos da comunidade nunca foi confirmado como funcional pelo autor original. Respostas posteriores encontraram aspas tipográficas copiadas e opções com um único hífen, e outro utilizador continuou sem conseguir ligar a aplicação instalada. Por isso, esta página explica a arquitetura e o plano seguro sem apresentar esse bloco de comandos não verificado como uma receita para o ZimaOS.
O IP da Bridge e o IP da LAN São Objetivos Diferentes
| Modo | Identidade do contentor | Acesso típico |
|---|---|---|
| Bridge predefinida | Endereço privado do Docker | Usar o endereço do anfitrião ZimaOS e uma porta publicada |
| Host | Partilha o espaço de nomes de rede do anfitrião | Não existe um endereço separado para o contentor |
| Macvlan | Identidade própria de camada 2 e endereço na LAN | Os outros dispositivos da LAN podem contactá-lo diretamente |
A maioria das aplicações não precisa de um IP separado na LAN. As portas publicadas no anfitrião ZimaOS são mais simples e evitam requisitos adicionais da camada 2.
Planeie a Macvlan Antes de a Criar
- Identifique a interface principal real utilizada para o tráfego da LAN.
- Registe a sub-rede e o gateway.
- Reserve um endereço fora do conjunto DHCP do router ou crie um intervalo gerido que não se sobreponha a esse conjunto.
- Verifique se o switch, a bridge Wi-Fi, o hipervisor ou a placa de rede USB permite vários endereços MAC.
- Faça uma cópia de segurança da definição Compose da aplicação e confirme o acesso à consola local.
A documentação oficial do Docker sobre macvlan avisa que, por predefinição, os contentores macvlan não podem comunicar diretamente com o anfitrião devido a uma limitação do kernel Linux.
Conte com o Isolamento entre o Anfitrião e o Contentor
Outros dispositivos da LAN podem conseguir aceder ao contentor, enquanto o próprio ZimaOS não consegue. Isto pode afetar proxies inversos, verificações de estado, serviços de armazenamento ou aplicações que esperem contactar o contentor a partir do anfitrião. O Docker documenta duas opções avançadas: ligar o contentor a uma rede bridge adicional ou criar no anfitrião uma interface macvlan correspondente.
Porque é que os Comandos Copiados Não Eram Fiáveis
A publicação da comunidade usava aspas tipográficas e travessões em vez de aspas ASCII e opções com dois hífenes. Copiar a partir do Windows preservou esses caracteres, causando problemas de interpretação na shell e no Docker. Um participante posterior corrigiu este problema, mas continuou sem conseguir iniciar uma aplicação ZimaOS já instalada na nova rede.
Os comandos também continham dados de rede fixos e pressupunham uma interface principal específica. Executá-los na sub-rede errada pode criar conflitos de endereços ou interromper o acesso. Por esse motivo, utilize os exemplos atuais do Docker e adapte-os apenas depois de validar cada valor.
A Macvlan Obtém Automaticamente um Endereço DHCP?
O fluxo de trabalho macvlan incorporado no Docker utiliza normalmente a gestão de endereços IP do Docker, e não uma concessão do router solicitada por cada contentor. Defina uma sub-rede e um intervalo de IP seguros e, em seguida, atribua endereços ou permita que o Docker os aloque dentro desse intervalo. Não se sobreponha ao conjunto DHCP do router, exceto se o router reservar esses endereços.
Limite da Interface do ZimaOS no Tópico de Origem
O autor original não encontrou uma opção gráfica funcional para ligar uma aplicação instalada à macvlan, e outro utilizador sugeriu essa possibilidade como pedido de funcionalidade. Exportar, editar e reimportar o Compose pode criar uma stack gerida separadamente; as atualizações e os controlos da App Store podem deixar de funcionar como no modelo original.
Perguntas Frequentes sobre IPs de Contentores no ZimaOS
Um contentor bridge já tem o seu próprio IP?
Sim, mas normalmente é um endereço interno do Docker e não um endereço de primeira classe na LAN.
O ZimaOS consegue aceder diretamente a um contentor macvlan?
Não por predefinição. O Docker documenta o isolamento do anfitrião como uma limitação do kernel.
Devo copiar os comandos do tópico de origem?
Não. Continham erros de caracteres tipográficos e não foram confirmados como um fluxo de trabalho bem-sucedido para aplicações ZimaOS.
