ubuntu创建pytorch-gpu的docker环境

文章目录

合作推广,分享一个人工智能学习网站。计划系统性学习的同学可以了解下,点击助力博主脱贫( •̀ ω •́ )✧

使用docker的好处就是可以将你的环境和别人的分开,特别是共用的情况下。本文介绍了ubuntu环境下创建pytorch-gpu的教程,centos其实也是差不多的。

安装docker


首先是安装docker:

bash 复制代码
sudo apt-get update # 更新软件包
# 安装必要的依赖
sudo apt install apt-transport-https ca-certificates curl software-properties-common
sudo apt-get install docker
# 添加 Docker GPG 密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# 设置 Docker 存储库
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 安装docker
sudo apt install docker-ce docker-ce-cli containerd.io
# 授权sudo
sudo usermod -aG docker $USER

使用以下代码检查安装成功与否:

bash 复制代码
dockcer --version

创建镜像


首先是新建一个目录,你找得到就可,名字叫什么都行:

bash 复制代码
mkdir /wzl
cd /wzl

然后是准备两个文件,一个镜像源,一个Dockerfile。

  1. 镜像源
    新建文件source.list:
bash 复制代码
sudo vim source.list

然后复制以下代码(华为源,使用其他国内源都可):

bash 复制代码
deb https://repo.huaweicloud.com/ubuntu/ focal main restricted
deb https://repo.huaweicloud.com/ubuntu/ focal-updates main restricted
deb https://repo.huaweicloud.com/ubuntu/ focal universe
deb https://repo.huaweicloud.com/ubuntu/ focal-updates universe
deb https://repo.huaweicloud.com/ubuntu/ focal-backports main restricted universe
deb https://repo.huaweicloud.com/ubuntu/ focal-security main restricted
deb https://repo.huaweicloud.com/ubuntu/ focal-security universe
deb http://archive.ubuntu.com/ubuntu/ trusty main universe restricted multiverse 

vim先按Esc,然后输入:wq回车,保存退出,生怕你们linux不好(doge。

(插播反爬信息 )博主CSDN地址:https://wzlodq.blog.csdn.net/

  1. Dockerfile
    新建Dockerfile文件:
bash 复制代码
sudo vim Dockerfile

复制以下代码:

bash 复制代码
FROM pytorch/pytorch:1.11.0-cuda11.3-cudnn8-runtime

MAINTAINER yyq

ENV DEBIAN_FRONTEND=noninteractive
#更新pip,并且换源
RUN pip install pip -U # 升级pip到最新版本
RUN pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

#为了运行apt-get update
RUN mv /etc/apt/sources.list /etc/apt/sources.list.bak
COPY sources.list /etc/apt/sources.list
RUN chmod a+x /etc/apt/sources.list

#更新apt
RUN apt-get update
#安装依赖
RUN apt-get install gcc -y && apt-get install make -y \
		&& apt-get install vim -y && apt-get install openssl -y \
		&& apt-get install libssl-dev -y && apt-get install python3-pip -y

RUN apt-get install vim ffmpeg libsm6 libxext6 cron openssh-server -y
# 为防止安装依赖太长,需要换行,直接用两行 pip install, 不会出现下面一行的依赖没有安装
RUN pip install aio-pika==7.1.0 asyncio==3.4.3 APScheduler==3.7.0 matplotlib==3.3.4 opencv-python==4.5.2.52
RUN pip install pandas==1.5.3 pyyaml==6.0 tqdm==4.64.1 seaborn==0.12.2
RUN pip install Pillow==8.2.0 pika==1.2.0 pymongo==3.11.4 requests==2.25.1

RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai'>/etc/timezone

RUN sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/'  /etc/ssh/sshd_config
RUN sed -i 's/UsePAM yes/UsePAM no/' /etc/ssh/sshd_config
RUN echo "root:123456" | chpasswd

RUN echo  "alias ll='ls -l'" >> ~/.bash_profile
RUN /bin/bash -c 'source  ~/.bash_profile;'

CMD [""]

代码摘自https://blog.csdn.net/m0_46825740/article/details/123550130

检查以下目录下面是否完成了以上两个文件:

然后就是创建容器,-t 是镜像的名字(tag),可以自己修改:

bash 复制代码
docker build -t wzl .

等待片刻之后就可以看到创建好的镜像了。

创建容器


最重要的是使用nvidia的GPU环境,所以我们得配置运行环境,修改daemon.json文件:

bash 复制代码
sudo vim /etc/docker/daemon.json

复制以下内容:

bash 复制代码
{
    "registry-mirrors": ["https://f1z25q5p.mirror.aliyuncs.com"],
    "runtimes": {
        "nvidia": {
            "path": "nvidia-container-runtime",
            "runtimeArgs": []
        }
    }
}

然后刷新并重启docker服务:

bash 复制代码
sudo systemctl daemon-reload
sudo systemctl restart docker

接下来就是根据镜像创建我们的容器了,--name指定容器的名字,--runtime指定运行环境,-itd表示使用交互式且挂起,py_11.3:latest是我们创建的镜像:

bash 复制代码
sudo docker run --name wzl --runtime=nvidia -itd py_11.3:latest /bin/bash

进入镜像后,输入nvidia-smi显示出GPU后我们就配置成功了:

测试:

activate base并查看conda版本

创建一个python文件,比如叫test.py

python 复制代码
import torch 
print(torch.__version__)
print(torch.cuda.is_available())

运行python test.py

至此,大功告成(。・∀・)ノ

原创不易,请勿转载 (本不富裕的访问量雪上加霜 )

博主首页:https://wzlodq.blog.csdn.net/

来都来了,不评论两句吗👀
如果文章对你有帮助,记得一键三连❤

相关推荐
czhc11400756639 分钟前
LINUX99 centos8:网络 yum配置;shell:while [ $i -ne 5 ];do let i++ done
linux
1373i29 分钟前
【Python】pytorch安装(使用conda)
pytorch·python·conda
janthinasnail1 小时前
使用Docker搭建MaxKB智能体平台
docker·maxkb
会开花的二叉树2 小时前
彻底搞懂 Linux 基础 IO:从文件操作到缓冲区,打通底层逻辑
linux·服务器·c++·后端
计算机小手2 小时前
高效 P2P 文件传输工具:FileSync 利用 WebRTC 技术实现极速安全传输
经验分享·docker·webrtc·开源软件
呼啦啦5612 小时前
【Linux】权限
linux·权限
晨曦5432103 小时前
零基础12周精通Linux学习计划
linux
linux修理工3 小时前
n1 Armbian OS 24.11.0 noble 安装suricata
linux·运维·服务器
傅里叶3 小时前
sudo启动Flutter程序AMD初始化失败
linux·flutter
笨鸟贤妃3 小时前
Ubuntu 22.04 安装 Docker & Compose 最新最简单完整指南
ubuntu·docker·compose