Rumah Operasi dan penyelenggaraan Docker apakah nvidia docker2

apakah nvidia docker2

Dec 08, 2021 pm 05:27 PM

nvidia-docker2.0 ialah pakej ringkas, yang terutamanya membenarkan docker menggunakan masa jalan NVIDIA Container dengan mengubah suai fail konfigurasi docker "/etc/docker/daemon.json".

apakah nvidia docker2

Persekitaran pengendalian artikel ini: sistem Windows 10, Docker versi 20.10.11, komputer Dell G3.

Pengenalan kepada NVidia Docker

NVIDIA mula mereka bentuk NVIDIA-Docker pada 2016 untuk memudahkan bekas menggunakan GPU NVIDIA. Generasi pertama nvidia-docker1.0 melaksanakan enkapsulasi klien docker dan memasang peranti dan perpustakaan GPU yang diperlukan ke dalam bekas apabila bekas dimulakan. Walau bagaimanapun, kaedah reka bentuk ini sangat digabungkan dengan masa larian docker dan tidak mempunyai fleksibiliti. Kecacatan sedia ada adalah seperti berikut:

Reka bentuk sangat digabungkan dengan docker dan tidak menyokong masa jalan kontena lain. Seperti: LXC, CRI-O dan masa jalan kontena yang mungkin ditambah pada masa hadapan.

Tidak dapat menggunakan alat lain dengan lebih baik dalam ekosistem docker. Seperti: docker compose.

GPU tidak boleh digunakan sebagai sumber sistem penjadualan untuk penjadualan fleksibel.

Tingkatkan sokongan GPU semasa masa jalan kontena. Contohnya: secara automatik mendapatkan perpustakaan Pemacu NVIDIA peringkat pengguna, modul kernel NVIDIA, pesanan peranti, dsb.

Berdasarkan kelemahan yang diterangkan di atas, NVIDIA memulakan reka bentuk masa jalan kontena generasi seterusnya: nvidia-docker2.0.

Mekanisme pelaksanaan nvidia-docker 2.0

Pertama sekali, mari kita perkenalkan secara ringkas hubungan langsung antara nvidia-docker 2.0, containerd, nvidia-container-runtime, libnvidia- bekas dan runc .

Hubungan antara mereka boleh dikaitkan melalui gambar berikut:

apakah nvidia docker2

nvidia-docker 2.0

nvidia -docker2.0 ialah pakej ringkas yang membolehkan docker menggunakan masa jalan Kontena NVIDIA dengan mengubah suai fail konfigurasi docker /etc/docker/daemon.json.

nvidia-container-runtime

nvidia-container-runtime ialah bahagian teras sebenar Ia menambah pramula semula berdasarkan runc bekas docker asal, yang digunakan untuk memanggil perpustakaan bekas libnvidia.

libnvidia-container

libnvidia-container menyediakan perpustakaan dan alat CLI ringkas yang boleh digunakan untuk membuat GPU NVIDIA digunakan oleh bekas Linux.

Containerd

Containerd bertanggungjawab terutamanya untuk:

  • Mengurus kitaran hayat kontena (dari penciptaan kontena hingga kemusnahan )

  • Tarik/Tolak imej bekas

  • Pengurusan storan (uruskan storan imej dan data bekas)

  • Panggil runc untuk menjalankan bekas

  • Urus antara muka rangkaian dan rangkaian bekas

apakah nvidia docker2

Apabila containerd Selepas menerima permintaan, buat persediaan yang berkaitan Anda boleh memilih untuk memanggil runc sendiri atau mencipta containerd-shim dan kemudian memanggil runc berdasarkan fail OCI. Di atas adalah proses asas penciptaan kontena biasa.

RunC

RunC ialah alat ringan yang digunakan untuk menjalankan bekas Ia hanya digunakan untuk melakukan satu perkara dan satu perkara Lakukan dengan baik. Kita boleh menganggapnya sebagai alat baris arahan yang boleh menjalankan kontena secara langsung tanpa melalui enjin docker. Malah, runC ialah produk penyeragaman dan ia mencipta dan menjalankan bekas mengikut piawaian OCI. Organisasi OCI (Inisiatif Kontena Terbuka) bertujuan untuk membangunkan piawaian industri terbuka di sekitar format kontena dan masa jalan.

Anda boleh terus menggunakan baris arahan RunC untuk mencipta bekas dan menyediakan keupayaan interaksi yang mudah.

Fungsi setiap komponen dan hubungan di antara mereka telah diperkenalkan di atas Seterusnya, mari kita huraikan gambar ini secara terperinci:

apakah nvidia docker2

Buat bekas seperti biasa. proses adalah seperti berikut:

docker --> dockerd --> containerd--> containerd-shim -->runc --> container-process
Salin selepas log masuk

Pelanggan docker menghantar permintaan untuk mencipta bekas kepada dockerd Apabila dockerd menerima tugas permintaan, ia menghantar permintaan kepada containerd. shim atau Mulakan proses bekas sendiri.

Buat bekas yang menggunakan GPU

Proses mencipta bekas GPU adalah seperti berikut:

docker--> dockerd --> containerd --> containerd-shim--> nvidia-container-runtime --> nvidia-container-runtime-hook --> libnvidia-container --> runc -- > container-process
Salin selepas log masuk

Proses asas adalah serupa dengan bekas yang tidak menggunakan GPU Hanya gantikan masa jalan lalai docker dengan masa jalanan nvidia-bekas NVIDIA.

Dengan cara ini, apabila nvidia-container-runtime mencipta bekas, ia mula-mula melaksanakan cangkuk nvidia-container-runtime-hook untuk menyemak sama ada bekas itu perlu menggunakan GPU (dinilai oleh pembolehubah persekitaran NVIDIA_VISIBLE_DEVICES) . Jika perlu, hubungi libnvidia-container untuk mendedahkan GPU kepada bekas. Jika tidak, logik runc lalai digunakan.

Pada ketika ini, mekanisme umum nvidia-docker2.0 pada dasarnya jelas. Walau bagaimanapun, projek yang terlibat dalam nvidia-container-runtime, libnvidia-container, containerd, dan runc tidak akan diperkenalkan satu demi satu dalam artikel ini. Jika anda berminat, anda boleh meneroka dan belajar sendiri. Alamat projek ini telah dipautkan dalam artikel.

Pembelajaran yang disyorkan: "Tutorial Video Docker"

Atas ialah kandungan terperinci apakah nvidia docker2. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimanakah saya menggunakan aplikasi ke kluster Swarm Docker? Bagaimanakah saya menggunakan aplikasi ke kluster Swarm Docker? Mar 17, 2025 pm 04:20 PM

Butiran artikel yang menggerakkan aplikasi ke docker swarm, meliputi penyediaan, langkah penempatan, dan langkah -langkah keselamatan semasa proses.

Apakah pod, penyebaran, dan perkhidmatan Kubernetes? Apakah pod, penyebaran, dan perkhidmatan Kubernetes? Mar 17, 2025 pm 04:25 PM

Artikel ini menerangkan pod, penyebaran, dan perkhidmatan Kubernetes, memperincikan peranan mereka dalam menguruskan aplikasi kontena. Ia membincangkan bagaimana komponen ini meningkatkan skalabiliti, kestabilan, dan komunikasi dalam aplikasi. (159 aksara)

Bagaimanakah saya membuat skala aplikasi di Kubernet? Bagaimanakah saya membuat skala aplikasi di Kubernet? Mar 17, 2025 pm 04:28 PM

Artikel ini membincangkan aplikasi penskalaan di Kubernet menggunakan skala manual, HPA, VPA, dan AutoScaler kluster, dan menyediakan amalan dan alat terbaik untuk pemantauan dan mengautomasikan skala.

Bagaimana saya menguruskan penyebaran di Kubernet? Bagaimana saya menguruskan penyebaran di Kubernet? Mar 17, 2025 pm 04:27 PM

Artikel ini membincangkan pengurusan penyebaran Kubernet, memberi tumpuan kepada penciptaan, kemas kini, skala, pemantauan, dan automasi menggunakan pelbagai alat dan amalan terbaik.

Bagaimana saya menguruskan perkhidmatan di Swarm Docker? Bagaimana saya menguruskan perkhidmatan di Swarm Docker? Mar 17, 2025 pm 04:22 PM

Artikel membincangkan pengurusan perkhidmatan dalam Swarm Docker, memberi tumpuan kepada penciptaan, skala, pemantauan, dan mengemas kini tanpa downtime.

Bagaimana saya melaksanakan kemas kini rolling di Swarm Docker? Bagaimana saya melaksanakan kemas kini rolling di Swarm Docker? Mar 17, 2025 pm 04:23 PM

Artikel ini membincangkan pelaksanaan kemas kini rolling di Swarm Docker untuk mengemas kini perkhidmatan tanpa downtime. Ia meliputi perkhidmatan mengemas kini, menetapkan parameter kemas kini, memantau kemajuan, dan memastikan kemas kini yang lancar.

Apakah cara terbaik untuk mengoptimumkan Docker untuk aplikasi latency rendah? Apakah cara terbaik untuk mengoptimumkan Docker untuk aplikasi latency rendah? Mar 14, 2025 pm 02:00 PM

Artikel ini membincangkan strategi untuk mengoptimumkan Docker untuk aplikasi latency rendah, yang memberi tumpuan kepada meminimumkan saiz imej, menggunakan imej asas ringan, dan menyesuaikan peruntukan sumber dan tetapan rangkaian.

Bagaimana saya mengoptimumkan imej Docker untuk saiz dan prestasi? Bagaimana saya mengoptimumkan imej Docker untuk saiz dan prestasi? Mar 14, 2025 pm 02:14 PM

Artikel membincangkan mengoptimumkan imej Docker untuk saiz dan prestasi menggunakan pelbagai peringkat membina, imej asas yang minimum, dan alat seperti Docker Scout dan Dive.

See all articles