GPU版docker的安装与使用
- 欢迎使用GPU版docker安装使用说明
- 使用官方教程安装docker
- 新建一个GPU版docker环境
- 调用docker环境执行本地python文件
欢迎使用GPU版docker安装使用说明
使用官方教程安装docker
导入源仓库的GPG key
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
将 Docker APT 软件源添加到你的系统
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
安装命令如下:
curl -fsSL https://test.docker.com -o test-docker.sh
sudo sh test-docker.sh
验证安装过程,查看安装的docker 版本,如果返回docker 版本,证明安装成功
docker -v
新建一个GPU版docker环境
在 Docker 中寻找专为深度学习和 GPU 计算准备的基础镜像,通常您会使用 Docker Hub,这是 Docker 的官方镜像仓库,包含了大量的社区和官方维护的镜像。对于深度学习和 GPU 计算,有几个关键的镜像资源您可以利用:
官方深度学习框架镜像:比如 PyTorch 和 TensorFlow 的官方镜像通常已经配置了适合深度学习的环境。在 Docker Hub 上搜索 pytorch/pytorch 或 tensorflow/tensorflow。
要查找这些镜像,您可以在 Docker Hub 的搜索栏中输入关键字,比如 “CUDA”、“PyTorch” 或 “TensorFlow”。选择镜像时,请注意镜像的标签,这些标签表示了不同版本的 CUDA 或深度学习框架。
例如,为了找到适合 PyTorch 和 CUDA 的镜像,您可以在 Docker Hub 上搜索 pytorch/pytorch,然后选择一个标签,比如 1.7.1-cuda11.0-cudnn8-runtime,这个标签意味着这个镜像包含了 PyTorch 1.7.1,CUDA 11.0 和 cuDNN 8。
一旦找到合适的镜像,您可以使用 docker pull 命令来下载它,例如:
docker pull nvidia/cuda:11.1-base
或
docker pull pytorch/pytorch:1.7.1-cuda11.0-cudnn8-runtime
测试 GPU 访问,要测试 Docker 是否可以访问 GPU,您可以运行一个带有 CUDA 支持的测试镜像,例如:
docker run --gpus all nvidia/cuda:10.0-base nvidia-smi
docker: Error response from daemon: could not select device driver “” with capabilities: [[gpu]].
ERRO[0000] error waiting for container: context canceled
表明 Docker 无法识别或使用 GPU。这通常是因为您的系统缺少所需的 NVIDIA 容器运行时或相应的配置不正确。以下是解决这个问题的几个步骤:
1、安装 NVIDIA Docker 插件
如果您正在使用 Docker 19.03 或更早的版本,您需要安装 nvidia-docker2。对于 Docker 19.03 及以后的版本,虽然有了原生的 GPU 支持,但您仍然需要 NVIDIA 容器工具包。
2、添加 NVIDIA 容器库:
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
3、安装 NVIDIA Docker:
sudo apt-get update
sudo apt-get install -y nvidia-docker2
4、重启 Docker 服务:
sudo systemctl restart docker
5、 验证 NVIDIA Docker 安装
运行以下命令来验证 NVIDIA Docker 是否正确安装:
docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi
出现如下界面表明容器可成功调用本地GPU,之后就是配置容器需要的代码插件。
调用docker环境执行本地python文件
1、定位您的 Python 文件:
确定您要执行的 Python 文件的路径。例如,假设您的文件位于 /path/to/your/script.py。
2、选择或创建 Docker 镜像:
确保您有一个包含所需 Python 版本和依赖库的 Docker 镜像。假设您使用的是 liqiang12689/laconda:v1 镜像。
3、运行 Docker 容器并挂载文件:
使用 Docker 的 -v 参数将本地文件或目录挂载到容器中。以下命令将本地目录 /path/to/your 挂载到容器的 /app 目录,并以交互模式启动容器:
docker run -it -v /path/to/your:/app liqiang12689/laconda:v1 /bin/bash
这样,容器内的 /app 目录现在包含您的 Python 文件。
4、在容器内执行 Python 文件:
容器启动后,您将进入其命令行界面。切换到挂载的目录:
cd /app
5、然后,使用 Python 运行您的脚本:
python script.py # 或 python3 script.py,取决于您的 Python 版本
这将执行您的本地 Python 脚本 script.py。
6、退出容器:
完成后,您可以通过输入 exit 或按 Ctrl+D 退出容器。
请记住,如果您的 Python 脚本有任何外部依赖或特定的环境需求,您需要确保这些依赖在 Docker 镜像中可用。您可能需要创建一个自定义 Docker 镜像,其中包含您的代码依赖项,或者在运行容器之前手动安装它们。