2016-09-05 7 views
6

का उपयोग करके sysctl मान निर्दिष्ट करें, मैं कुछ sysctl मान सेट करने का प्रयास कर रहा हूं।
मूल रूप से निम्नलिखितडॉकर-कंपोज़

sysctl -w \ 
    net.ipv4.tcp_keepalive_time=300 \ 
    net.ipv4.tcp_keepalive_intvl=60 \ 
    net.ipv4.tcp_keepalive_probes=9 
एक डोकर कंटेनर में


जब सीधे कंटेनर के लिए में प्रवेश करें और आदेश पर अमल, मैं निम्न त्रुटि

sysctl: cannot stat /proc/sys/net/ipv4/tcp_keepalive_time: No such file or directory 
sysctl: cannot stat /proc/sys/net/ipv4/tcp_keepalive_intvl: No such file or directory 
sysctl: cannot stat /proc/sys/net/ipv4/tcp_keepalive_probes: No such file or directory 

तब मैं here में docker run में --sysctl विकल्प पता चला मिलता है लेकिन मैं डोकर के माध्यम से बराबर विकल्प नहीं मिला -compose। मेरे पास कुछ सेवाएं हैं जो डिफ़ॉल्ट रूप से शुरू होती हैं इसलिए डॉकर-कंपोज़ के बजाए डॉकर रन का उपयोग करना मेरे लिए एक विकल्प नहीं है।

किसी को भी लिखने के माध्यम से कंटेनर के लिए sysctl विकल्प आपूर्ति करने के तरीके के बारे में पता है?

उत्तर

1

डॉकर-कंपोज़ में कई सीएलआई विकल्पों की कमी है। आम तौर पर, आपको github issues for compose पर जाना होगा और वहां खोजना होगा। sysctl के मामले में, यह जोड़ा जाने की प्रक्रिया में है। किसी के पास made a branch with the addition है। आप तब तक शुरू कर सकते हैं जब तक कि यह मास्टर शाखा में नहीं जोड़ा जाता है।

10

यह विकल्प अब डोकर-लिखें 1.10.0-RC1 में उपलब्ध है, आप भी प्रति docs

उदाहरण डोकर-लिखें सुविधा संस्करण 2.1 करने के लिए अपने docker-compose.yml फ़ाइल को अपडेट कि संस्करण में नवीनीकृत करने की आवश्यकता होगी (pip install docker-compose==1.10.0-rc1) और .yml:

version: '2.1' 
services: 
    app: 
     build: . 
     sysctls: 
      - net.ipv6.conf.all.disable_ipv6=1