ここで解決策を見つけました
ステファン・グレイバーに感謝します。
引用:
「LXD マネージド ブリッジで最新の LXD を実行している場合は、コンテナのネットワーク インターフェイスで ipv4.address プロパティを設定するだけです。
- lxc stop c1
- lxc ネットワーク接続 lxdbr0 c1 eth0 eth0
- lxc 構成デバイス セット c1 eth0 ipv4.address 10.99.10.42
- lxc start c1
"
LXD でコンテナーの IP アドレスを指定する場合は、/etc/default/lxd-bridge
を参照してください。 ファイル。そこに、外部の dnsmasq 構成ファイルを含める場所があります。
Ubuntu 16.04 を使用していると仮定すると、
/etc/default/lxd-bridge
を開く お気に入りのエディターで。 sudo
を使用する必要があります .
16行目辺りで、
LXD_CONFILE=""
dnsmasq 構成ファイルを指すエントリを追加します。このファイルを作成する必要があります。そのため、好きな名前を付けてください。 lxd_bridge.conf
のようなもの .
次に、上で名前を付けたファイルを作成して編集します。
特定の IP アドレスを割り当てるコンテナーごとに行を追加します。
このように:
dhcp-host=containername,ipaddress
その後、lxd-bridge を再起動してからコンテナーを再起動する必要があります。
これについての詳細な記事は次のとおりです:
LXD 静的 IP
コンテナーで Alpine Linux を実行している場合は、これを機能させるために追加の手順を実行する必要があることに注意してください.alpine
システム情報:lxc-3.0.1
Ubuntu Server 18.04.1
で .
何度も検索した結果、コンテナに静的 IP を割り当てる簡単なコマンドを見つけました:
lxc config set [container] raw.lxc 'lxc.net.[i].ipv4.address = [ip]/[subnet-mask]'
どこで [container]
、 [i]
、 [ip]
および [subnet-mask]
は、それぞれコンテナー名、ネットワーク インターフェイス番号、目的の静的 IP アドレス、目的のサブネット マスクの CIDR です。
たとえば、 240.10.0.20
を割り当てたい場合 サブネットマスク 255.255.255.0
付き hello
という名前のコンテナーの 0 番目のネットワーク インターフェイスに 、使用できます:
lxc config set hello raw.lxc 'lxc.net.0.ipv4.address = 240.10.0.20/24'
コマンドを実行した後、おそらくコンテナーを再起動する必要があります。
これはおそらくコンテナの現在のIPアドレスを変更しないことに注意してください(とにかく私のセットアップでは)。コンテナーは、元の IP と新しく割り当てられた IP の両方で到達可能である必要があります。その結果、lxc list
のコンテナ エントリ 複数の IP アドレスが含まれる場合があります。
lxc.net.[i]
に追加可能な構成キーについては、こちらをご覧ください。 .この Web ページには、CIDR 表記に関する情報が含まれています。
残念ながら、この解決策を最初に見つけた場所を思い出せません。有用な情報が含まれている可能性のある、関連する GitHub の問題を次に示します。