基于Dockerfile创建携带最新cuda版本以及与其配套的cudnn环境的ubuntu20.04镜像
最近涉及到一个在 x86 上机器上使用英伟达GPU资源做加速计算的项目,包括模型推理加速和编解码加速。
为了保持两个模块开发cuda环境的一致性,故构建该基础镜像。
编写Dockerfile脚本
# Use Ubuntu 20.04 as base image
FROM ubuntu:20.04
# Set non-interactive mode for apt-get
ENV DEBIAN_FRONTEND=noninteractive
# Update package lists and install basic dependencies
RUN sed -i 's|http://archive.ubuntu.com/ubuntu/|http://mirrors.aliyun.com/ubuntu/|g' /etc/apt/sources.list && \
apt-get update && apt-get install -y --no-install-recommends \
build-essential \
wget \
curl \
vim \
gnupg2 \
lsb-release \
ca-certificates \
&& rm -rf /var/lib/apt/lists/*
# Install CUDA
# Add NVIDIA package repositories and keys
RUN sed -i 's|http://archive.ubuntu.com/ubuntu/|http://mirrors.aliyun.com/ubuntu/|g' /etc/apt/sources.list && \
apt-get update && \
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-keyring_1.0-1_all.deb && \
dpkg -i cuda-keyring_1.0-1_all.deb && \
apt-get update && \
apt-get install -y cuda \
--fix-missing
# Set environment variables for CUDA
ENV PATH=/usr/local/cuda/bin:${PATH}
ENV LD_LIBRARY_PATH=/usr/local/cuda/lib64:${LD_LIBRARY_PATH}
# Clean up apt cache
RUN apt-get clean && rm -rf /var/lib/apt/lists/*
# Set default command
CMD ["bash"]
构建镜像
我要在x86平台使用,因此在构建时指定platform=linux/amd64
参数
docker build --platform=linux/amd64 -t ubuntu-cuda:20.04 .
等待镜像构建完成即可,时间可能稍长。
注意:更换ubuntu使用的镜像源可大大提高构建成功率。(本Dockerfile 已经加入更换阿里源的操作)
另外--fix-missing
参数也不可少,它可以再次下载那些因网络波动而未能成功下载的包。
环境验证
运行 Docker 容器
docker run --rm --gpus all -it ubuntu-cuda:20.04 bash
使用nvcc --version
可以查看到cuda的版本;
如果宿主机安装了英伟达驱动的话,在容器中执行nvidia-smi
是可以看到GPU详细信息的。
本站资源均来自互联网,仅供研究学习,禁止违法使用和商用,产生法律纠纷本站概不负责!如果侵犯了您的权益请与我们联系!
转载请注明出处: 免费源码网-免费的源码资源网站 » 【Docker】基于Dockerfile创建携带最新cuda版本以及与其配套的cudnn环境的ubuntu20.04镜像
发表评论 取消回复