Cách sử dụng GPU NVIDIA trong Docker Container trên Ubuntu 22.04 LTS

Cach Su Dung Gpu Nvidia Trong Docker Container Tren Ubuntu 22 04 Lts



Bạn có thể chuyển qua GPU NVIDIA của mình trong các bộ chứa Docker và chạy các chương trình CUDA trên GPU NVIDIA của bạn từ các bộ chứa Docker này. Đây là một tính năng rất hữu ích cho việc học AI (Trí tuệ nhân tạo). Có thể chạy mã AI (tức là Tensorflow) trên các bộ chứa Docker sẽ giúp bạn tiết kiệm rất nhiều thời gian. Bạn cũng có thể thử mã AI của mình trên các phiên bản CUDA khác nhau mà không cần thay đổi phiên bản CUDA trên máy tính của mình.

Việc loay hoay với trình điều khiển NVIDIA và phiên bản CUDA trên máy tính của bạn có thể gây ra các sự cố như trình điều khiển NVIDIA không hoạt động hoặc khiến bạn gặp màn hình đen/xanh chết chóc. Vì vậy, bạn nên để nguyên hệ thống của mình và thực hiện các thay đổi trong một môi trường bị cô lập như bộ chứa Docker. Điều này giữ cho máy tính chính của bạn sạch sẽ (các công cụ phát triển không cần thiết).







Trong bài viết này, tôi sẽ chỉ cho bạn cách thiết lập Docker CE và NVIDIA docker trên Ubuntu 22.04 LTS để bạn có thể truy cập GPU NVIDIA của máy tính từ bộ chứa Docker và chạy các chương trình CUDA trên GPU NVIDIA của bạn.



Mục lục:

  1. Kiểm tra xem Trình điều khiển GPU NVIDIA chính thức đã được cài đặt trên Ubuntu 22.04 chưa
  2. Cài đặt phụ thuộc Docker CE trên Ubuntu 22.04
  3. Cài đặt khóa Docker CE GPG trên Ubuntu 22.04
  4. Cài đặt Kho lưu trữ Docker CE trên Ubuntu 22.04
  5. Cài đặt Docker CE trên Ubuntu 22.04
  6. Thêm người dùng đăng nhập Ubuntu 22.04 LTS vào nhóm docker
  7. Kiểm tra xem Docker CE đã được cài đặt đúng trên Ubuntu 22.04 chưa
  8. Cài đặt Khóa GPG Bộ công cụ chứa NVIDIA trên Ubuntu 22.04
  9. Cài đặt Kho lưu trữ Bộ công cụ Bộ chứa NVIDIA trên Ubuntu 22.04
  10. Cài đặt Trình điều khiển nvidia-docker trên Ubuntu 22.04
  11. Kiểm tra xem GPU NVIDIA có thể truy cập được từ Docker Container trong Ubuntu 22.04 không
  12. Phần kết luận
  13. Người giới thiệu

Kiểm tra xem Trình điều khiển GPU NVIDIA chính thức đã được cài đặt trên Ubuntu 22.04 LTS chưa:

Trước khi bắt đầu, hãy chạy lệnh sau để xác minh rằng bạn đã cài đặt GPU NVIDIA trên máy tính của mình.



$ lspci | egrep -Tôi 'vga|3d|hiển thị'





Trong trường hợp này, tôi đã cài đặt GPU NVIDIA GTX 1050 Ti trên máy tính của mình. Rất có thể bạn sẽ cài đặt một GPU NVIDIA khác trên máy tính của mình.


Ngoài ra, hãy đảm bảo rằng bạn đã cài đặt trình điều khiển NVIDIA chính thức trên hệ điều hành Ubuntu 22.04 bằng lệnh sau:



$ lsmod | nắm chặt nvidia

Nếu trình điều khiển NVIDIA chính thức được cài đặt trên hệ điều hành Ubuntu 22.04 của bạn, bạn sẽ thấy các kết quả đầu ra sau.


Ngoài ra, hãy kiểm tra xem trình điều khiển GPU NVIDIA chính thức có hoạt động hay không bằng lệnh sau:

$ nvidia-smi

Nếu trình điều khiển GPU NVIDIA chính thức đang hoạt động, bạn sẽ thấy kết quả đầu ra sau đây. Như bạn có thể thấy, tôi đã cài đặt Trình điều khiển GPU NVIDIA phiên bản 525.78.01 chính thức trên máy Ubuntu 22.04 của mình.


Nếu bạn chưa cài đặt trình điều khiển GPU NVIDIA chính thức trên máy Ubuntu 22.04 của mình và bạn cần bất kỳ sự trợ giúp nào về điều đó, vui lòng xem bài viết .

Cài đặt phụ thuộc Docker CE trên Ubuntu 22.04 LTS:

Trước khi có thể cài đặt Docker CE trên Ubuntu 22.04, bạn cần cài đặt các gói phụ thuộc Docker CE cần thiết trên Ubuntu 22.04.

Trước tiên, hãy cập nhật bộ đệm của kho lưu trữ gói APT bằng lệnh sau:

$ sudo cập nhật apt

Bộ nhớ cache của kho lưu trữ gói APT phải được cập nhật.


Để cài đặt các gói phụ thuộc cần thiết của Docker CE, hãy chạy lệnh sau:

$ sudo cài đặt apt-get ca-chứng chỉ curl gnupg lsb-release

Để xác nhận cài đặt, nhấn và sau đó nhấn .


Các gói phụ thuộc Docker CE bắt buộc phải được cài đặt.

Cài đặt Khóa Docker CE GPG trên Ubuntu 22.04 LTS:

Trong phần này, tôi sẽ chỉ cho bạn cách cài đặt khóa GPG của kho lưu trữ gói Docker CE trên Ubuntu 22.04.

Đầu tiên, tạo một thư mục mới /etc/apt/keyrings bằng lệnh sau:

$ sudo mkdir -P / vân vân / đúng cách / Móc chìa khóa

Để cài đặt khóa GPG của kho lưu trữ gói Docker CE trên Ubuntu 22.04, hãy chạy lệnh sau:

$ Xoăn -fsSL https: // tải về.docker.com / linux / Ubuntu / gpg | sudo gpg --dearmor / vân vân / đúng cách / Móc chìa khóa / docker.gpg

Cài đặt Kho lưu trữ Docker CE trên Ubuntu 22.04 LTS:

Để cài đặt kho lưu trữ gói Docker CE trên Ubuntu 22.04, hãy chạy lệnh sau:

$ tiếng vang 'deb [arch= $(dpkg --print-architecture) được ký bởi=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) ổn định' | sudo phát bóng / vân vân / đúng cách / nguồn.list.d / docker.list > / nhà phát triển / vô giá trị

Cập nhật bộ nhớ cache của kho lưu trữ gói APT để các thay đổi có hiệu lực.

$ sudo cập nhật apt


Cài đặt Docker CE trên Ubuntu 22.04 LTS:

Để cài đặt phiên bản Docker CE mới nhất trên Ubuntu 22.04, hãy chạy lệnh sau:

$ sudo cài đặt apt-get docker-ce docker-ce-cli containerd.io docker-compose-plugin

Để xác nhận cài đặt, nhấn và sau đó nhấn .


Docker CE và các gói phụ thuộc bắt buộc đang được tải xuống. Nó sẽ mất một lúc để hoàn thành.


Docker CE và các gói phụ thuộc bắt buộc đang được cài đặt. Nó sẽ mất một lúc để hoàn thành.


Docker CE và các gói phụ thuộc cần thiết sẽ được cài đặt vào thời điểm này.

Thêm Người dùng đăng nhập Ubuntu 22.04 LTS vào Nhóm docker:

Để tạo bộ chứa Docker và quản lý chúng mà không cần sử dụng sudo hoặc đăng nhập với tư cách người dùng root, bạn sẽ phải thêm người dùng đăng nhập của mình vào người đóng tàu nhóm.

Để thêm người dùng đăng nhập Ubuntu 22.04 của bạn vào người đóng tàu nhóm, hãy chạy lệnh sau:

$ sudo người dùng -aG docker $ ( tôi là ai )

Để các thay đổi có hiệu lực, hãy khởi động lại máy tính của bạn bằng lệnh sau:

$ sudo khởi động lại

Kiểm tra xem Docker CE đã được cài đặt đúng trên Ubuntu 22.04 LTS chưa:

Khi máy tính của bạn khởi động, hãy chạy lệnh sau để xác minh rằng bạn có thể truy cập Docker mà không cần đặc quyền siêu người dùng.

$ phiên bản docker

Nếu mọi thứ hoạt động, bạn sẽ thấy kết quả đầu ra sau đây.

Như bạn có thể thấy, tôi đang chạy Docker phiên bản 20.10.23 – phiên bản Docker CE mới nhất tại thời điểm viết bài này.

Cài đặt Khóa GPG Bộ công cụ chứa NVIDIA trên Ubuntu 22.04:

Trong phần này, tôi sẽ chỉ cho bạn cách cài đặt khóa GPG của kho lưu trữ gói NVIDIA Container Toolkit trên Ubuntu 22.04.

Để cài đặt khóa GPG của kho lưu trữ gói NVIDIA Container Toolkit trên Ubuntu 22.04, hãy chạy lệnh sau:

$ Xoăn -fsSL https: // nvidia.github.io / libnvidia-container / gpgkey | sudo gpg --dearmor / sử dụng / chia sẻ / Móc chìa khóa / nvidia-container-toolkit-keyring.gpg

Cài đặt Kho lưu trữ Bộ công cụ Bộ chứa NVIDIA trên Ubuntu 22.04 LTS:

Trong phần này, tôi sẽ chỉ cho bạn cách cài đặt kho gói NVIDIA Container Toolkit trên Ubuntu 22.04.

Đầu tiên, tạo một tệp nguồn APT mới nvidia-container-toolkit.list bên trong /etc/apt/sources.list.d/ thư mục như sau:

$ sudo nano / vân vân / đúng cách / nguồn.list.d / nvidia-container-toolkit.list

bên trong nvidia-container-toolkit.list tập tin, thêm dòng sau và nhấn + X theo dõi bởi để lưu tập tin.

cái đó [ ký tên = / sử dụng / chia sẻ / Móc chìa khóa / nvidia-container-toolkit-keyring.gpg ] https: // nvidia.github.io / libnvidia-container / ổn định / miễn phí22.04 / $ ( Vòm ) /



Nếu bạn đang sử dụng Ubuntu 20.04 LTS, thì tất cả những gì bạn cần làm là thêm dòng sau vào nvidia-container-toolkit.list tập tin thay thế và mọi thứ khác sẽ hoạt động không thay đổi.

cái đó [ ký tên = / sử dụng / chia sẻ / Móc chìa khóa / nvidia-container-toolkit-keyring.gpg ] https: // nvidia.github.io / libnvidia-container / ổn định / miễn phí20.04 / $ ( Vòm ) /


Nếu bạn đang sử dụng Ubuntu 18.04 LTS, thì tất cả những gì bạn cần làm là thêm dòng sau vào nvidia-container-toolkit.list tập tin thay thế và mọi thứ khác sẽ hoạt động không thay đổi.

cái đó [ ký tên = / sử dụng / chia sẻ / Móc chìa khóa / nvidia-container-toolkit-keyring.gpg ] https: // nvidia.github.io / libnvidia-container / ổn định / miễn phí18.04 / $ ( Vòm ) /


Để các thay đổi có hiệu lực, hãy cập nhật bộ đệm của kho lưu trữ gói APT bằng lệnh sau:

$ sudo cập nhật apt


Cài đặt Trình điều khiển nvidia-docker trên Ubuntu 22.04 LTS:

Để cài đặt trình điều khiển NVIDIA Docker trên Ubuntu 22.04, hãy chạy lệnh sau:

$ sudo đúng cách cài đặt nvidia-docker2

Để xác nhận cài đặt, nhấn và sau đó nhấn .


Trình điều khiển docker NVIDIA nên được cài đặt.


Để các thay đổi có hiệu lực, hãy khởi động lại máy tính của bạn bằng lệnh sau:

$ sudo khởi động lại

Kiểm tra xem GPU NVIDIA có thể truy cập được từ Docker Container trong Ubuntu 22.04 LTS hay không:

Trong phần này, tôi sẽ chỉ cho bạn cách tạo một Bộ chứa Docker NVIDIA CUDA và xác minh rằng bộ chứa có thể truy cập GPU NVIDIA từ máy tính của bạn.

Để tạo bộ chứa NVIDIA CUDA 12 Docker dựa trên Ubuntu 20.04 LTS và chạy nvidia-smi trong đó sau khi nó được tạo để xác minh xem nó có thể truy cập GPU NVIDIA từ máy tính của bạn hay không, hãy chạy lệnh sau:

$ docker chạy --rm --gpus tất cả nvidia / cuda:12.0.0-base-ubuntu20.04 nvidia-smi

Docker đang kéo nvidia/cuda:12.0.0-base-ubuntu20.04 hình ảnh từ Docker Hub. Nó sẽ mất một lúc để hoàn thành.


Khi hình ảnh docker NVIDIA CUDA được kéo và vùng chứa được tạo, nvidia-smi lệnh sẽ chạy trên đó và in đầu ra trên bàn điều khiển như bạn có thể thấy trong ảnh chụp màn hình bên dưới.

Bộ chứa Docker đang sử dụng Trình điều khiển GPU NVIDIA 525.78.01 [1] CUDA phiên bản 12.0 [2] . Nếu bạn thấy kết quả đầu ra tương tự, thì bộ chứa Docker có thể truy cập GPU NVIDIA trên máy tính của bạn.


Nếu bạn cần sử dụng các phiên bản CUDA cũ hơn, hãy kiểm tra .

Phần kết luận:

Trong bài viết này, tôi đã chỉ cho bạn cách thiết lập kho lưu trữ gói Docker CE trên Ubuntu 22.04. Tôi cũng đã chỉ cho bạn cách cài đặt phiên bản Docker CE mới nhất trên Ubuntu 22.04. Tôi đã chỉ cho bạn cách cài đặt kho gói NVIDIA Container Toolkit trên Ubuntu 22.04 cũng như cách cài đặt trình điều khiển NVIDIA Docker trên Ubuntu 22.04. Cuối cùng, tôi đã chỉ cho bạn cách truy cập GPU NVIDIA của máy tính từ vùng chứa Docker.

Người giới thiệu: