Я пытаюсь перенастроить некоторые настройки сетевого ядра в / 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
В моем докере есть только несколько опций:
В Ubuntu моего хоста:
$ 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
В Ubuntu моего докера:
$ 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
Вы создаете новый сетевой стек в контейнере, и файлы 'перезаписываются' контейнерными.
при необходимости в доступе для хостинга стека, Вы могли бы рассмотреть монтирование его где-то в другом месте, позволяет, говорят, что / сеть с помощью -v /proc/sys/net/:/net
и затем просто использует echo value > /net/my/file
вместо того, чтобы использовать sysctl.
whatever_program < input_data.txt
хорошо работает, целыхwhatever_program
чтения от stdin. – Henning Kockerbeck 3 December 2016 в 02:54