web-dev-qa-db-ja.com

lxcコンテナー内のsysctl値の変更

通常のユーザー空間ツール(Dockerではない)を使用していくつかのLinuxコンテナーを作成し、テスト環境をセットアップしています。

ハートビートを試すために2つのコンテナーをセットアップします。これには、コンテナーがまだ構成されていないIPアドレス、つまりnet.ipv4.ip_nonlocal_bind = 1にバインドする必要があります

私がそれを試みるたびに、それはこのような何かを言います:

user@lxc1:~$ Sudo sysctl -w net.ipv4.ip_nonlocal_bind=1
sysctl: cannot stat /proc/sys/net/ipv4/ip_nonlocal_bind: No such file or directory

また、sysctl.confファイルを変更しても役に立ちません。したがって、私はいくつかの調査を行い、ゲストコンテナは明らかにホストの/ proc/sys(これは理にかなっています)にバインドするため、ホストsysctl.confに適切な値を追加してホストの値を変更し、ホストを適切に再起動しました測定:

user@Host:~$ Sudo sysctl -A | grep -i nonlocal
net.ipv4.ip_nonlocal_bind = 1

上記のように、ホストはゲストコンテナーで表示したい構成を反映しますが、再起動後でも、コンテナーは同じ問題を示します。

ゲストコンテナーでこれらの値を変更するにはどうすればよいですか?

5
Ace

同じ問題がありました。あなたはそれがLXCコンテナに関連していることは正しいです。 net.ipv4.ip_nonlocal_bind = 1をLXCホストのsysctl.confに追加し、実行しました:sysctl -p(ルートアクセス/ Sudoが必要)

変更を有効にするには、コンテナを再起動する必要がありました。また、コンテナでsysctl: cannot stat /proc/sys/net/ipv4/ip_nonlocal_bind: No such file or directoryを取得します。機能が機能する場合、同じコマンドをゲストコンテナで実行する必要があるかどうかは完全にはわかりません。

これで、VIPまたは定義されたIPを介してコンテナーにアクセスできます。

2
Andrew Meyer

非常に遅い更新ですが、他の誰かを助けるかもしれません。

コンテナ内に/ procをマウントしましたか?

エラーメッセージは、/ procファイルシステムでファイルを見つけることができなかったことを示しています。/procファイルシステムは、LXCコンテナ内で利用できるように明示的にマウントする必要があります。

2
Michael Firth