Ubuntu24.02使用Docker搭建CUDA12.2环境过程

服务整体架构

1、服务器宿主机显卡驱动、CUDA环境安装

2、宿主机Docker服务安装,及镜像配置

3、镜像下载(拉取)

docker pull nvidia/cuda:12.2.0-devel-ubuntu22.04

 如果网络封锁比较严重,可添加国内镜像(百度查找)。

下载完成后,使用命令查看是否下载完成。

docker images

4、容器创建

docker run -it --name contrin-test --gpus all -p 20000:22 -v /home/data/docker-container-data/contain-test:/work dockerproxy.cn/nvidia/cuda:12.2.0-devel-ubuntu22.04

命令详解:

-it                                                        以交互模型运行容器,也就是运行容器后不退出
--name contain-test                                        将容器命名为test,否则会随机命名
--gpus all                                                 允许使用所有的gpu,这个非常重要,没有这个参数gpu无法正常使用
-p 20000:22                                                将宿主机的1234端口映射到容器的22端口,为了ssh链接做准备(可添加多个)
-v /home/data/docker-container-data/contain-test:/work     将容器的/work文件夹映射到宿主机的/home/data/docker-container-data/contain-test
dockerproxy.cn/nvidia/cuda:12.2.0-devel-ubuntu22.04        镜像名:版本号

 创建完成后,如自动进入容器,则输入exit命令退出。

使用命令查看是否创建成功。

docker ps -a

 

如容器未启动(STATUS),使用命令启动容器

docker start 5155cc6f1675

5、容器安装ssh

使用命令进入容器

docker exec -it 5155cc6f1675 /bin/bash

升级安装工具,并安装vim

apt-get update
apt-get install vim

安装并启动ssh

apt-get install openssh-server

设置ssh连接密码

passwd

添加root连接权限

vim /etc/ssh/sshd_config

注释这一行PermitRootLogin prohibit-password

添加一行PermitRootLogin yes

然后保存退出,重启服务

/etc/init.d/ssh restart

在 /root 目录下新建一个 start_ssh.sh文件,并给予该文件可执行权限 

vim /root/start_ssh.sh

脚本内容为:

#!/bin/bash
 
LOGTIME=$(date "+%Y-%m-%d %H:%M:%S")
echo "[$LOGTIME] startup run..." >>/root/start_ssh.log
service ssh start >>/root/start_ssh.log

提升脚本权限

chmod +x /root/start_ssh.sh

将start_ssh.sh脚本添加到启动文件中

vim /root/.bashrc

在 .bashrc 文件末尾加入如下内容

# startup run
if [ -f /root/start_ssh.sh ]; then
      ./root/start_ssh.sh
fi

6、测试CUDA

nvidia-smi
nvcc -V

如nvcc -V命令提示不存在,则查看cuda的bin目录下是否有nvcc:

cd /usr/local/cuda/bin

如果存在,直接将cuda路径加入系统路径即可:

vim ~/.bashrc
export LD_LIBRARY_PATH=/usr/local/cuda/lib
export PATH=$PATH:/usr/local/cuda/bin

刷新配置文件,并再次测试

source ~/.bashrc
posted @   金元宝骑骑  阅读(634)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
点击右上角即可分享
微信分享提示