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를 사용하여 설정할 수 없습니다.

이와 유사한 방법이나 다른 방법을 사용하여 올바른 네임스페이스에 들어가지 않는 한 전통적인 스타일 구성(write /sys|/proc)은 컨테이너 내부에서 작동하지 않습니다 .ip netns exec ...

답변2

Docker는 가상 머신이 아니므로 가상 머신이 수행하는 모든 아키텍처를 제공하지는 않습니다. Docker 컨테이너의 기본 인프라는 컨테이너 자체가 아닌 호스트 시스템에 구성됩니다.

보다도커 개요 문서그리고도커 네트워크 문서자세한 내용은.

보다 철저한 사용자 정의 옵션은 다음에 설명되어 있습니다.https://docs.docker.com/engine/userguide/networking/default_network/container-communication

관련 정보