컨테이너의 / proc / sys / net / core에서 일부 네트워크 커널 설정을 재구성하려고합니다. 그러나 일부 옵션이 docker ubuntu : 14.04에서 누락되어 구성 할 수 없습니다. 예:
$ sysctl -w net.core.rmem_max=262144
sysctl: cannot stat /proc/sys/net/core/rmem_max: No such file or directory
내 도커에는 몇 가지 옵션이 있습니다.
내 호스트 우분투에서 :
$ ls /proc/sys/net/core/
bpf_jit_enable message_burst rmem_default xfrm_acq_expires
busy_poll message_cost rmem_max xfrm_aevent_etime
busy_read netdev_budget rps_sock_flow_entries xfrm_aevent_rseqth
default_qdisc netdev_max_backlog somaxconn xfrm_larval_drop
dev_weight netdev_rss_key warnings
flow_limit_cpu_bitmap netdev_tstamp_prequeue wmem_default
flow_limit_table_len optmem_max wmem_max
도커의 우분투에서 :
$ ls /proc/sys/net/core/
somaxconn xfrm_acq_expires xfrm_aevent_etime xfrm_aevent_rseqth xfrm_larval_drop
–net = none / default (호스트를 사용하고 싶지 않습니다) 또는 –v / proc / sys / net : / proc / sys / net으로 도커를 실행하려고 했지만 변경 사항은 없습니다.
kernel.org에서 이것을 읽었습니다 : “/ proc / sys / net … 커널 설정에 따라 일부만 볼 수 있습니다.”
완전한 옵션을 얻는 방법이 있습니까?
감사!
답변
이러한 파일은 --net=host
컨테이너 내에 새 네트워크 스택을 만들지 않고 호스트 네트워크 스택의 구성을 나타내며 파일은 컨테이너에 의해 ‘덮어집니다’.
호스트 스택에 액세스 해야하는 경우 다른 위치에 마운트하는 것을 고려할 수 있습니다. / net using을 말한 -v /proc/sys/net/:/net
다음 echo value > /net/my/file
sysctl을 사용 하는 대신 간단히 사용하십시오 .