Docker macvlan は ZimaOS で使用でき、2026年2月のスレッドには、ユーザーが検証した Portainer の設定と、sudo docker network create の実行成功例が含まれています。 主な落とし穴は、macvlan の動作が通常の Docker ブリッジと異なることです。コンテナには LAN に近いアドレスが割り当てられますが、Linux ホストからはデフォルトでそれらのコンテナに直接通信できません。
このホスト分離の動作は、ZimaOS のバグではありません。Docker と Linux のネットワークモデルにおいて、macvlan に固有の仕様として文書化されています。
コミュニティで確認されたこと
最初のユーザーは、Portainer のスタックを通じて macvlan を作成する際に問題に遭遇しました。その後、別のユーザーが SSH から作成し、ZimaOS のカスタムアプリのネットワーク選択欄に表示されるようになりました。元の投稿者は続いて、まず Portainer で macvlan の設定を作成し、次に実際の macvlan ネットワークを作成することで成功したと報告しています。
後のユーザーも、通常の ZimaOS アカウントでは Docker ソケットにアクセスできなかったため、Docker CLI から直接作成するには sudo が必要だったと確認しています。
実際の LAN に合わせてネットワークを構築する
正しい物理親インターフェース、サブネット、ゲートウェイ、そしてルーターに割り当てさせたい DHCP リースと重ならない安全な IP 範囲を選択してください。サーバーの環境に一致しない限り、フォーラムの例にある eth0 や 192.168.0.0/24 をそのまま使用しないでください。
最新のDocker macvlan ガイドでは、ネットワーク機器が複数の MAC アドレスに対応している必要があり、macvlan は Linux 専用であることも説明されています。
ホストとコンテナ間の分離を理解する
Docker の公式ドキュメントでは、Linux カーネルの制限により、macvlan コンテナはホストと直接通信できないと明記されています。つまり、他の LAN クライアントからはサービスが正常に動作していても、ZimaOS ホスト自体からは到達できない場合があります。
ホストからのアクセスが必要な場合、Docker はコンテナに追加のブリッジネットワークを割り当てるか、同じサブネット内のアドレスを持つ macvlan インターフェースをホスト上に作成する方法を提案しています。後者は高度なネットワーク設定として扱い、再起動やインターフェース名の変更によってアクセスが予期せず壊れないよう、構成を記録してください。
Portainer と ZimaOS に同じネットワークを再作成させない
ネットワークの管理者を一つに決めてください。Portainer で管理する場合は、各アプリケーションスタックでネットワークを再作成するのではなく、既存の外部ネットワークを参照します。Docker CLI で作成する場合は、ZimaOS のアプリが正確に既存のネットワーク名を参照していることを確認してください。
Docker ルーティングガイドとネットワーク分離ガイドでは、関連するルーティングとファイアウォールの問題について解説しています。
結論
macvlan は、正しい親インターフェースと権限を使って作成すれば ZimaOS で利用できます。ただし、成功とは単に「コンテナに IP アドレスがある」ことではありません。重要なサービスを移行する前に、LAN からのアクセス、ホストからのアクセス要件、再起動後の永続性、DHCP の分離、そしてネットワーク管理者が一つに定まっていることを確認してください。
