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.