Rumah > Operasi dan penyelenggaraan > Docker > Bagaimana untuk mengehadkan saiz memori bekas docker

Bagaimana untuk mengehadkan saiz memori bekas docker

PHPz
Lepaskan: 2023-04-17 17:28:47
asal
9488 orang telah melayarinya

Docker ialah salah satu teknologi kontena yang paling popular hari ini, yang membolehkan aplikasi dijalankan dalam bekas serba lengkap. Ciri penting Docker ialah ia boleh mengurus dan mengehadkan penggunaan CPU dan memori bagi bekas, yang penting untuk mengekalkan ketersediaan dan kestabilan aplikasi yang tinggi. Dalam artikel ini, kami akan memberi tumpuan kepada cara mengehadkan saiz memori bekas Docker.

1 Fahami pengurusan memori Docker

Dalam Docker, setiap bekas mempunyai ruang nama dan sekatan sumbernya sendiri. Bekas dengan had memori boleh dimulakan menggunakan arahan berikut:

docker run -it --memory 512m --name example_container ubuntu:latest
Salin selepas log masuk

Dalam contoh ini, kami mencipta bekas bernama example_container dan menetapkan had ingatannya kepada 512MB. Perintah itu juga menentukan imej asas yang digunakan oleh bekas - ubuntu:latest. Ambil perhatian bahawa simbol "-it" ialah satu cara untuk memberitahu Docker untuk melampirkan stdin dan stdout bekas pada sesi terminal itu.

Arahan di atas boleh mengesahkan penggunaan memori semasa bekas melalui arahan berikut:

docker stats example_container
Salin selepas log masuk
Salin selepas log masuk

Dengan arahan ini, anda boleh melihat penggunaan CPU, penggunaan memori dan penghantaran rangkaian bagi kontena dalam Kadar masa nyata dsb.

2. Kaedah untuk mengehadkan memori bekas

Selain pilihan baris arahan, apabila bekas sedang berjalan, anda juga boleh menggunakan kaedah berikut untuk mengehadkan penggunaan memori bekas:

1. Gunakan arahan "kemas kini docker"

Anda boleh menggunakan arahan "kemas kini docker" untuk mengubah suai had ingatan bekas yang sedang berjalan. Perintah berikut boleh mengubah suai had memori example_container kepada 1GB:

docker update --memory 1g example_container
Salin selepas log masuk

2 Gunakan docker-compose

Dalam persekitaran Docker Compose, anda boleh menggunakan kata kunci "mem_limit" untuk menetapkan. had Memori bekas. Berikut ialah contoh fail konfigurasi bekas, di mana bekas itu dinamakan "db" dan had ingatannya ditetapkan kepada 512MB:

version: '3'
services:
  db:
    image: mongo:4.4
    mem_limit: 512m
Salin selepas log masuk

Dalam contoh ini, kami menggunakan imej mongo:4.4 sebagai Imej asas bekas dan namakannya "db". Dalam kata kunci "mem_limit", kami menetapkan had memori bekas ini kepada 512MB.

3. Cara menguji had ingatan bekas

Untuk mengesahkan sama ada had ingatan bekas itu berkuat kuasa, kami boleh menjalankan beberapa tugas intensif memori dalam bekas, contohnya, alat penanda aras tekanan-ng ujian "matriks". Berikut ialah contoh di mana kami menjalankan ujian "matriks" untuk mengambil lebih banyak memori:

docker exec example_container stress-ng --matrix 1 -t 10s
Salin selepas log masuk

Dalam contoh ini, kami menggunakan arahan "docker exec" untuk menjalankan stress-ng dalam bekas yang sedang berjalan example_container "matriks "ujian, tempohnya ialah 10 saat.

Semasa ujian, kita boleh memerhatikan penggunaan memori bekas menggunakan arahan berikut:

docker stats example_container
Salin selepas log masuk
Salin selepas log masuk

Biasanya, stress-ng perlu mengambil banyak masa untuk tempoh ujian yang ditentukan Memori. Jika bekas berjaya menggunakan hanya had memori yang ditentukan, maka ujian ini akan mengakibatkan keadaan kehabisan ingatan.

Ringkasan

Melalui artikel ini, kami mempelajari cara mengehadkan penggunaan memori bekas Docker. Docker menyediakan beberapa cara untuk mengawal penggunaan memori bekas. Untuk memastikan bekas stabil dan sangat tersedia, adalah perlu untuk mengehadkan penggunaan memori bekas. Melalui percubaan dan penanda aras, kami boleh mengesahkan bahawa bekas mematuhi had memori yang ditentukan dengan betul.

Atas ialah kandungan terperinci Bagaimana untuk mengehadkan saiz memori bekas docker. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan