วิธีใช้ NVIDIA GPU ใน Docker Containers บน Ubuntu 22.04 LTS

Withi Chi Nvidia Gpu Ni Docker Containers Bn Ubuntu 22 04 Lts



คุณสามารถส่งผ่าน NVIDIA GPU ของคุณในคอนเทนเนอร์ Docker และเรียกใช้โปรแกรม CUDA บน NVIDIA GPU ของคุณจากคอนเทนเนอร์ Docker เหล่านี้ นี่เป็นคุณสมบัติที่มีประโยชน์มากสำหรับการเรียนรู้ AI (ปัญญาประดิษฐ์) ความสามารถในการเรียกใช้รหัส AI (เช่น Tensorflow) บนคอนเทนเนอร์ Docker จะช่วยให้คุณประหยัดเวลาได้มาก คุณยังสามารถลองใช้รหัส AI ของคุณกับ CUDA เวอร์ชันต่างๆ ได้โดยไม่จำเป็นต้องเปลี่ยนเวอร์ชัน CUDA บนคอมพิวเตอร์ของคุณ

การเล่นซอกับไดรเวอร์ NVIDIA และเวอร์ชัน CUDA บนคอมพิวเตอร์ของคุณอาจทำให้เกิดปัญหา เช่น ไดรเวอร์ NVIDIA ไม่ทำงานหรือทำให้คุณพบกับหน้าจอสีดำ/สีน้ำเงินแห่งความตาย ดังนั้นจึงเป็นความคิดที่ดีเสมอที่จะออกจากระบบของคุณตามที่เป็นอยู่และทำการเปลี่ยนแปลงในสภาพแวดล้อมที่แยกจากกัน เช่น คอนเทนเนอร์ Docker สิ่งนี้ทำให้คอมพิวเตอร์หลักของคุณสะอาด (จากเครื่องมือการพัฒนาที่ไม่จำเป็น)







ในบทความนี้ ฉันจะแสดงวิธีตั้งค่า Docker CE และ NVIDIA docker บน Ubuntu 22.04 LTS เพื่อให้คุณสามารถเข้าถึง NVIDIA GPU ของคอมพิวเตอร์ของคุณจากคอนเทนเนอร์ Docker และเรียกใช้โปรแกรม CUDA บน NVIDIA GPU ของคุณ



สารบัญ:

  1. ตรวจสอบว่ามีการติดตั้งไดรเวอร์ NVIDIA GPU อย่างเป็นทางการบน Ubuntu 22.04 หรือไม่
  2. การติดตั้งการพึ่งพา Docker CE บน Ubuntu 22.04
  3. การติดตั้งคีย์ Docker CE GPG บน Ubuntu 22.04
  4. การติดตั้ง Docker CE Repository บน Ubuntu 22.04
  5. การติดตั้ง Docker CE บน Ubuntu 22.04
  6. การเพิ่มผู้ใช้เข้าสู่ระบบ Ubuntu 22.04 LTS ไปยังกลุ่มนักเทียบท่า
  7. ตรวจสอบว่า Docker CE ได้รับการติดตั้งอย่างถูกต้องบน Ubuntu 22.04 หรือไม่
  8. การติดตั้งคีย์ GPG ของ NVIDIA Container Toolkit บน Ubuntu 22.04
  9. การติดตั้ง NVIDIA Container Toolkit Repository บน Ubuntu 22.04
  10. การติดตั้งไดรเวอร์ nvidia-docker บน Ubuntu 22.04
  11. ตรวจสอบว่า NVIDIA GPU สามารถเข้าถึงได้จาก Docker Containers ใน Ubuntu 22.04 หรือไม่
  12. บทสรุป
  13. อ้างอิง

การตรวจสอบว่ามีการติดตั้งไดรเวอร์ NVIDIA GPU อย่างเป็นทางการบน Ubuntu 22.04 LTS หรือไม่:

ก่อนที่คุณจะเริ่มต้น ให้เรียกใช้คำสั่งต่อไปนี้เพื่อตรวจสอบว่าคุณมี NVIDIA GPU ติดตั้งอยู่ในคอมพิวเตอร์ของคุณ



$ lspci | นกกระยาง -ฉัน 'vga|3d|จอแสดงผล'





ในกรณีนี้ ฉันติดตั้ง GPU NVIDIA GTX 1050 Ti บนคอมพิวเตอร์ของฉัน คุณมักจะติดตั้ง NVIDIA GPU อื่นในคอมพิวเตอร์ของคุณ


ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้งไดรเวอร์ NVIDIA อย่างเป็นทางการบนระบบปฏิบัติการ Ubuntu 22.04 ของคุณด้วยคำสั่งต่อไปนี้:



$ lsmod | จับ เอ็นวิเดีย

หากติดตั้งไดรเวอร์ NVIDIA อย่างเป็นทางการบนระบบปฏิบัติการ Ubuntu 22.04 คุณจะเห็นผลลัพธ์ต่อไปนี้


ตรวจสอบว่าไดรเวอร์ NVIDIA GPU อย่างเป็นทางการทำงานด้วยคำสั่งต่อไปนี้หรือไม่:

$ nvidia-smi

หากไดรเวอร์ NVIDIA GPU อย่างเป็นทางการทำงานอยู่ คุณจะเห็นผลลัพธ์ดังต่อไปนี้ อย่างที่คุณเห็น ฉันมีไดรเวอร์ NVIDIA GPU รุ่น 525.78.01 อย่างเป็นทางการติดตั้งอยู่ในเครื่อง Ubuntu 22.04 ของฉัน


หากคุณไม่ได้ติดตั้งไดรเวอร์ NVIDIA GPU อย่างเป็นทางการบนเครื่อง Ubuntu 22.04 ของคุณและคุณต้องการความช่วยเหลือ โปรดดูบทความ .

การติดตั้งการพึ่งพา Docker CE บน Ubuntu 22.04 LTS:

ก่อนที่คุณจะสามารถติดตั้ง Docker CE บน Ubuntu 22.04 คุณจะต้องติดตั้งแพ็คเกจการพึ่งพา Docker CE ที่จำเป็นบน Ubuntu 22.04

ก่อนอื่น ให้อัพเดตแคชที่เก็บแพ็คเกจ APT ด้วยคำสั่งต่อไปนี้:

$ ซูโด การปรับปรุงที่เหมาะสม

ควรอัปเดตแคชที่เก็บแพ็คเกจ APT


ในการติดตั้งแพ็คเกจการพึ่งพาที่จำเป็นของ Docker CE ให้รันคำสั่งต่อไปนี้:

$ ซูโด ฉลาดรับการติดตั้ง ca-ใบรับรอง curl gnupg lsb-release

เพื่อยืนยันการติดตั้ง กด และ แล้วกด <ป้อน> .


ควรติดตั้งแพ็คเกจการพึ่งพา Docker CE ที่จำเป็น

การติดตั้งคีย์ Docker CE GPG บน Ubuntu 22.04 LTS:

ในส่วนนี้ ฉันจะแสดงวิธีติดตั้งคีย์ GPG ของที่เก็บแพ็คเกจ Docker CE บน Ubuntu 22.04

ขั้นแรก สร้างโฟลเดอร์ใหม่ /etc/apt/keyrings ด้วยคำสั่งต่อไปนี้:

$ ซูโด มคเดียร์ -หน้า / เป็นต้น / ฉลาด / พวงกุญแจ

ในการติดตั้งคีย์ GPG ของที่เก็บแพ็คเกจ Docker CE บน Ubuntu 22.04 ให้รันคำสั่งต่อไปนี้:

$ ขด -fsSL https: // ดาวน์โหลด.docker.com / ลินุกซ์ / อูบุนตู / จีพีจี | ซูโด จีพีจี --dearmor -O / เป็นต้น / ฉลาด / พวงกุญแจ / นักเทียบท่า.gpg

การติดตั้ง Docker CE Repository บน Ubuntu 22.04 LTS:

ในการติดตั้งที่เก็บแพ็คเกจ Docker CE บน Ubuntu 22.04 ให้รันคำสั่งต่อไปนี้:

$ เสียงสะท้อน 'deb [โค้ง= $(dpkg -- พิมพ์สถาปัตยกรรม) ลงนามโดย=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) มั่นคง' | ซูโด ที / เป็นต้น / ฉลาด / source.list.d / docker.list > / ผู้พัฒนา / โมฆะ

อัปเดตแคชที่เก็บแพ็คเกจ APT เพื่อให้การเปลี่ยนแปลงมีผล

$ ซูโด การปรับปรุงที่เหมาะสม


การติดตั้ง Docker CE บน Ubuntu 22.04 LTS:

ในการติดตั้ง Docker CE เวอร์ชันล่าสุดบน Ubuntu 22.04 ให้รันคำสั่งต่อไปนี้:

$ ซูโด ฉลาดรับการติดตั้ง นักเทียบท่า-ce นักเทียบท่า-ce-cli containerd.io นักเทียบท่า-เขียน-ปลั๊กอิน

เพื่อยืนยันการติดตั้ง กด และ แล้วกด <ป้อน> .


กำลังดาวน์โหลด Docker CE และแพ็คเกจการพึ่งพาที่จำเป็น จะใช้เวลาสักครู่จึงจะเสร็จสมบูรณ์


กำลังติดตั้ง Docker CE และแพ็คเกจการพึ่งพาที่จำเป็น จะใช้เวลาสักครู่จึงจะเสร็จสมบูรณ์


ควรติดตั้ง Docker CE และแพ็คเกจการพึ่งพาที่จำเป็น ณ จุดนี้

การเพิ่มผู้ใช้เข้าสู่ระบบ Ubuntu 22.04 LTS ในกลุ่มนักเทียบท่า:

หากต้องการสร้างคอนเทนเนอร์ Docker และจัดการโดยไม่ต้องใช้ sudo หรือเข้าสู่ระบบในฐานะผู้ใช้รูท คุณจะต้องเพิ่มผู้ใช้เข้าสู่ระบบของคุณใน นักเทียบท่า กลุ่ม.

ในการเพิ่มผู้ใช้ที่เข้าสู่ระบบของ Ubuntu 22.04 ไปที่ นักเทียบท่า กลุ่ม ให้รันคำสั่งต่อไปนี้:

$ ซูโด ม็อดผู้ใช้ -ก นักเทียบท่า $ ( ฉันเป็นใคร )

เพื่อให้การเปลี่ยนแปลงมีผล ให้รีสตาร์ทคอมพิวเตอร์ด้วยคำสั่งต่อไปนี้:

$ ซูโด รีบูต

การตรวจสอบว่า Docker CE ได้รับการติดตั้งอย่างถูกต้องบน Ubuntu 22.04 LTS:

เมื่อคอมพิวเตอร์เริ่มทำงาน ให้รันคำสั่งต่อไปนี้เพื่อตรวจสอบว่าคุณสามารถเข้าถึง Docker ได้โดยไม่ต้องใช้สิทธิ์ superuser

$ รุ่นนักเทียบท่า

หากทุกอย่างใช้งานได้ คุณควรเห็นผลลัพธ์ต่อไปนี้

อย่างที่คุณเห็น ฉันใช้ Docker เวอร์ชัน 20.10.23 ซึ่งเป็นเวอร์ชันล่าสุดของ Docker CE ในขณะที่เขียนบทความนี้

การติดตั้งคีย์ GPG ของ NVIDIA Container Toolkit บน Ubuntu 22.04:

ในส่วนนี้ ฉันจะแสดงวิธีการติดตั้งคีย์ GPG ของที่เก็บแพ็คเกจ NVIDIA Container Toolkit บน Ubuntu 22.04

ในการติดตั้งคีย์ GPG ของที่เก็บแพ็คเกจ NVIDIA Container Toolkit บน Ubuntu 22.04 ให้รันคำสั่งต่อไปนี้:

$ ขด -fsSL https: // nvidia.github.io / libnvidia-คอนเทนเนอร์ / gpgkey | ซูโด จีพีจี --dearmor -O / ยูเอสอาร์ / แบ่งปัน / พวงกุญแจ / nvidia-container-toolkit-keyring.gpg

การติดตั้ง NVIDIA Container Toolkit Repository บน Ubuntu 22.04 LTS:

ในส่วนนี้ ฉันจะแสดงวิธีการติดตั้งที่เก็บแพ็คเกจ NVIDIA Container Toolkit บน Ubuntu 22.04

ขั้นแรก สร้างไฟล์ต้นฉบับ APT ใหม่ nvidia-คอนเทนเนอร์-toolkit.list ใน /etc/apt/sources.list.d/ ไดเรกทอรีดังต่อไปนี้:

$ ซูโด นาโน / เป็นต้น / ฉลาด / source.list.d / nvidia-คอนเทนเนอร์-toolkit.list

ใน nvidia-คอนเทนเนอร์-toolkit.list ไฟล์ เพิ่มบรรทัดต่อไปนี้แล้วกด + เอ็กซ์ ติดตามโดย และ และ <ป้อน> เพื่อบันทึกไฟล์

ที่ [ ลงนามโดย= / ยูเอสอาร์ / แบ่งปัน / พวงกุญแจ / nvidia-container-toolkit-keyring.gpg ] https: // nvidia.github.io / libnvidia-คอนเทนเนอร์ / มั่นคง / ฟรี22.04 / $ ( โค้ง ) /



หากคุณใช้ Ubuntu 20.04 LTS สิ่งที่คุณต้องทำคือเพิ่มบรรทัดต่อไปนี้ใน nvidia-คอนเทนเนอร์-toolkit.list ไฟล์แทนและทุกอย่างอื่นควรทำงานไม่เปลี่ยนแปลง

ที่ [ ลงนามโดย= / ยูเอสอาร์ / แบ่งปัน / พวงกุญแจ / nvidia-container-toolkit-keyring.gpg ] https: // nvidia.github.io / libnvidia-คอนเทนเนอร์ / มั่นคง / ฟรี20.04 / $ ( โค้ง ) /


หากคุณใช้ Ubuntu 18.04 LTS สิ่งที่คุณต้องทำคือเพิ่มบรรทัดต่อไปนี้ใน nvidia-คอนเทนเนอร์-toolkit.list ไฟล์แทนและทุกอย่างอื่นควรทำงานไม่เปลี่ยนแปลง

ที่ [ ลงนามโดย= / ยูเอสอาร์ / แบ่งปัน / พวงกุญแจ / nvidia-container-toolkit-keyring.gpg ] https: // nvidia.github.io / libnvidia-คอนเทนเนอร์ / มั่นคง / ฟรี18.04 / $ ( โค้ง ) /


เพื่อให้การเปลี่ยนแปลงมีผล ให้อัพเดตแคชที่เก็บแพ็กเกจ APT ด้วยคำสั่งต่อไปนี้:

$ ซูโด การปรับปรุงที่เหมาะสม


การติดตั้งไดรเวอร์ nvidia-docker บน Ubuntu 22.04 LTS:

ในการติดตั้งไดรเวอร์ NVIDIA Docker บน Ubuntu 22.04 ให้รันคำสั่งต่อไปนี้:

$ ซูโด ฉลาด ติดตั้ง nvidia-docker2

เพื่อยืนยันการติดตั้ง กด และ แล้วกด <ป้อน> .


ควรติดตั้งไดรเวอร์นักเทียบท่า NVIDIA


เพื่อให้การเปลี่ยนแปลงมีผล ให้รีสตาร์ทคอมพิวเตอร์ด้วยคำสั่งต่อไปนี้:

$ ซูโด รีบูต

การตรวจสอบว่า NVIDIA GPU สามารถเข้าถึงได้จาก Docker Containers ใน Ubuntu 22.04 LTS:

ในส่วนนี้ ฉันจะแสดงวิธีสร้าง คอนเทนเนอร์ NVIDIA CUDA Docker และตรวจสอบว่าคอนเทนเนอร์สามารถเข้าถึง NVIDIA GPU จากคอมพิวเตอร์ของคุณ

เพื่อสร้างคอนเทนเนอร์ NVIDIA CUDA 12 Docker ที่ใช้ Ubuntu 20.04 LTS และเรียกใช้ไฟล์ nvidia-smi คำสั่งในนั้นเมื่อสร้างขึ้นเพื่อตรวจสอบว่าสามารถเข้าถึง NVIDIA GPU จากคอมพิวเตอร์ของคุณหรือไม่ ให้รันคำสั่งต่อไปนี้:

$ เรียกใช้นักเทียบท่า --rm --gpus nvidia ทั้งหมด / cuda:12.0.0-base-ubuntu20.04 nvidia-smi

นักเทียบท่ากำลังดึงไฟล์ nvidia/cuda:12.0.0-base-ubuntu20.04 ภาพจาก Docker Hub จะใช้เวลาสักครู่จึงจะเสร็จสมบูรณ์


เมื่อดึงอิมเมจนักเทียบท่า NVIDIA CUDA และสร้างคอนเทนเนอร์แล้ว nvidia-smi คำสั่งจะทำงานบนมันและพิมพ์ผลลัพธ์บนคอนโซลตามที่คุณเห็นในภาพหน้าจอด้านล่าง

คอนเทนเนอร์ Docker กำลังใช้ไฟล์ ไดรเวอร์ NVIDIA GPU 525.78.01 [1] และ CUDA เวอร์ชั่น 12.0 [2] . หากคุณเห็นผลลัพธ์ที่คล้ายกัน แสดงว่าคอนเทนเนอร์ Docker สามารถเข้าถึง NVIDIA GPU ของคอมพิวเตอร์ของคุณได้


หากคุณต้องการใช้ CUDA เวอร์ชันเก่า ให้ตรวจสอบ .

บทสรุป:

ในบทความนี้ ฉันได้แสดงวิธีการตั้งค่าที่เก็บแพ็คเกจ Docker CE บน Ubuntu 22.04 ฉันได้แสดงวิธีติดตั้ง Docker CE เวอร์ชันล่าสุดบน Ubuntu 22.04 ด้วย ฉันได้แสดงวิธีติดตั้งที่เก็บแพ็คเกจ NVIDIA Container Toolkit บน Ubuntu 22.04 รวมถึงวิธีติดตั้งไดรเวอร์ NVIDIA Docker บน Ubuntu 22.04 ในที่สุด ฉันได้แสดงวิธีเข้าถึง NVIDIA GPU ของคอมพิวเตอร์ของคุณจากคอนเทนเนอร์ Docker

อ้างอิง: