docker의 우분투에서 / proc / sys / net에서 전체 옵션을 얻는 방법


1

컨테이너의 / 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 ... 커널 설정에 따라 일부만 볼 수 있습니다."

완전한 옵션을 얻는 방법이 있습니까?

감사!

답변:


0

이러한 파일은 --net=host컨테이너 내에 새 네트워크 스택을 만들지 않고 호스트 네트워크 스택의 구성을 나타내며 파일은 컨테이너에 의해 '덮어집니다'.

호스트 스택에 액세스 해야하는 경우 다른 위치에 마운트하는 것을 고려할 수 있습니다. / net using을 말한 -v /proc/sys/net/:/net다음 echo value > /net/my/filesysctl을 사용 하는 대신 간단히 사용하십시오 .


제안한대로 마운트했지만 파일 은 호스트 이외의 컨테이너 /net/core와 동일 /proc/sys/net/core합니다. 또한 컨테이너의 NIC 설정을 변경하고 싶지만 호스트의 NIC는 변경하지 않습니다. 컨테이너에서 해당 파일을 변경 해야하는 패키지를 설치하려고하기 때문에.
— asker

컨테이너 내부에는 물리적 링크가 아닌 가상 링크 만 있다는 것을 기억하십시오. 아마도 호스트 NIC를 수정하면 컨테이너 내부에서 동작이 예상됩니다 (확실하지는 않습니다).
— Łukasz
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.