Dockerコンテナでsysctlネットワーク関連の構成を構成する方法

Dockerコンテナでsysctlネットワーク関連の構成を構成する方法

テストのために17.09.0-ce dockerサービスとcentos7.2.1511を使用し、ネットワーク関連のシステム構成を変更しようとしましたが失敗しました。

ファイルを使用してすべての構成をオーバーライドします。

net.ipv4.tcp_syncookies = 0
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_max_syn_backlog = 200000
net.core.netdev_max_backlog = 200000
net.core.rmem_max = 2097152
net.core.wmem_max = 2097152

sysctl -p config:

sysctl: cannot stat /proc/sys/net/ipv4/tcp_syncookies: No such file or directory
sysctl: cannot stat /proc/sys/net/ipv4/tcp_tw_recycle: No such file or directory
sysctl: cannot stat /proc/sys/net/ipv4/tcp_max_syn_backlog: No such file or directory
sysctl: cannot stat /proc/sys/net/core/netdev_max_backlog: No such file or directory
sysctl: cannot stat /proc/sys/net/core/rmem_max: No such file or directory
sysctl: cannot stat /proc/sys/net/core/wmem_max: No such file or directory

実際、コンテナにこれらのファイルは表示されません。 Dockerは上記の設定変更をサポートしていませんか、それとも私が間違っていますか?

答え1

使用docker run --sysctl your.config.parameter。私が覚えている限り、いくつかの--sysctlオプションが何度も使用されました。一部のsysctlパラメータはグローバルであるため、dockerを使用して設定することはできません。

同様の方法や他の方法を使用して正しい名前空間に入らない限り、伝統的なスタイル設定/sys|/procはコンテナ内では機能しません。ip netns exec ...

答え2

Dockerは仮想マシンではないため、仮想マシンが実行するすべてのアーキテクチャを提供するわけではありません。 Dockerコンテナのデフォルトインフラストラクチャは、コンテナ自体ではなくホストシステムに設定されます。

よりドッカー概要文書そしてドッカーネットワークドキュメント詳細については。

より徹底したカスタマイズオプションについては、以下で説明します。https://docs.docker.com/engine/userguide/networking/default_network/container-communication

関連情報