GNU/Linux >> Belajar Linux >  >> Linux

Penyetelan Kernel dengan Kontainer Docker Istimewa

Pengaturan khusus ini berada di bawah pengaruh ruang nama jaringan tempat buruh pelabuhan berjalan.

Sebagai aturan umum /proc apakah mengubah pengaturan yang relevan di seluruh sistem, secara teknis bagaimanapun Anda mengubah pengaturan di /proc/net yang mengembalikan hasil berdasarkan ruang nama per jaringan.

Perhatikan bahwa /proc/net sebenarnya adalah symlink ke /proc/self/net karena ini benar-benar mencerminkan pengaturan ruang nama tempat Anda bekerja.


Docker 1.12+ memiliki dukungan asli untuk mengutak-atik nilai sysctl di dalam wadah. Berikut adalah kutipan dari dokumentasi:

Konfigurasi parameter kernel namespaced (sysctls) saat runtime

--sysctl menyetel parameter kernel namespaced (sysctls) dalam wadah. Misalnya, untuk mengaktifkan penerusan IP di ruang nama jaringan penampung, jalankan perintah ini:

docker run --sysctl net.ipv4.ip_forward=1 someimage

Menggunakan contoh Anda, cara yang benar untuk menaikkan net.core.somaxconn akan menjadi:

docker run ... --sysctl net.core.somaxconn=65535 ...

Kontainer yang diistimewakan masih menggunakan ruang nama prosesnya sendiri untuk /proc . Yang dapat Anda lakukan adalah memasang /proc yang sebenarnya di dalam wadah:

docker run --rm --privileged -v /proc:/host-proc ubuntu:latest \
  'echo 65535 > /host-proc/sys/net/core/somaxconn'

Linux
  1. Cara Menginstal WordPress dengan Docker di Ubuntu

  2. Instal ModSecurity dengan Apache di Docker Container

  3. Cara Menyebarkan Wadah nginx dengan Docker di Linode

  1. Pelacakan kernel dengan trace-cmd

  2. Pengantar Docker

  3. Cara Keluar dari Kontainer Docker

  1. Cara Memperbarui Kontainer Docker dengan Zero Downtime

  2. Cara Mengakses Namespace Jaringan Docker Container dari Host

  3. Meneruskan port host ke wadah buruh pelabuhan