当前位置: 首页 > news >正文

Ubuntu系统docker gpu环境搭建

Ubuntu系统dockergpu环境搭建

  • 安装步骤
    • 前置安装
        • 安装指定版本的依赖包
        • 用docker官方脚本安装Docker-ce
        • 添加稳定仓库和GPG秘钥
        • 更新源
    • 安装docker
        • 安装nvidia-docker2
        • 重启docker服务
        • 阿里云镜像加速
    • 相关命令
      • 网络
  • docker常用命令
    • 镜像
    • 容器
  • docker相关问题解决方案
    • 使用wsl时docker的容器无法联网
      • 方案一
      • 方案二
    • ubuntu容器换源
    • 容器update时nvidia报错NO_PUBKEY A4B469963BF863CC
    • 设置pip源

安装步骤

前置安装

安装指定版本的依赖包
sudo apt install libnvidia-container1=1.4.0-1 libnvidia-container-tools=1.4.0-1 nvidia-container-toolkit=1.5.1-1

安装最新的依赖包

sudo apt install libnvidia-container1 libnvidia-container-tools nvidia-container-toolkit
用docker官方脚本安装Docker-ce
curl https://get.docker.com | sh && sudo systemctl --now enable docker
添加稳定仓库和GPG秘钥
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
更新源
sudo apt-get update

安装docker

安装nvidia-docker2
sudo apt-get install -y nvidia-docker2
重启docker服务
sudo systemctl restart docker
阿里云镜像加速

网址: https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors

相关命令

将用户加入到docker组中

不需要使用sudo操控docker

sudo gpasswd -a 用户名 docker

查看gpus参数是否成功安装

docker run --help | grep -i gpus

运行使用gpu的容器

-it表示进入镜像,后面的/bin/bash表示进入后的shell,如果不需要进入则去掉这两个

sudo docker run -it --gpus all --name 容器名 镜像 /bin/bash

docker运行的常用参数

  • -it: 以交互形式进入容器终端
  • -d: 后台运行并返回容器id
  • -p: 指定端口映射,格式为: 主机端口:容器端口
  • -v: 绑定一个卷,即做容器和主机的文件映射,格式为: 主机文件:容器文件
  • –restart=always: 总是重启
  • –dns 8.8.8.8: 指定容器使用的DNS
  • -e username=“ritchie”: 设置环境变量
  • –env-file=[]: 从指定文件读入环境变量
  • -m :设置容器使用内存最大值
  • –link=[]: 添加链接到另一个容器

查看容器端口的绑定情况

docker port 容器 端口

网络

查看网络详情

docker network  ls

创建docker网络

docekr network create -d bridge(网络类型,还有overlay) 网络名

连接容器

通过–network参数可以指定要加入的网络

docker run -itd --name test1 --network test-net ubuntu /bin/bash

docker常用命令

镜像

拉取镜像

docker pull 镜像地址:tag

删除镜像

存在使用镜像的容器时不能删除,需要使用-f强制删除

docker rmi 镜像名/镜像id

容器

创建容器

# 基本命令
docker run 镜像
# 常用命令(启动容器、指定名称、挂载、指定gpu环境并进入容器)
docker run -it -v 本地路径:容器内路径 --name 容器名 --gpus all 镜像名/镜像id /bin/bash

进入容器

# 开启新的终端
docker exec -it 容器id/容器名 /bin/bash
# 进入容器使用上次使用的终端
docker attach 容器id/容器名

退出容器

# 退出并关闭容器
exit
# 挂起容器(退出但不关闭容器)
ctrl + p + q

启动容器

docker start 容器名/容器id

关闭容器

docker stop 容器名/容器id

删除容器

# 删除已经关闭的容器
docker rm 容器名/容器id
# 强制删除容器
docker rm -f 容器名/容器id

docker相关问题解决方案

使用wsl时docker的容器无法联网

方案一

启动容器时,指定--dns 8.8.8.8 --dns 8.8.4.4或者--dns=114.114.114.114

方案二

永久解决方案: 在/etc/resolv.conf中添加如下代码:

nameserver 114.114.114.114
nameserver 8.8.8.8
nameserver 8.8.4.4

第一个是国内的dns,后两个是谷歌提供的dns

ubuntu容器换源

sed -i "s/archive.ubuntu.com/mirrors.aliyun.com/" /etc/apt/sources.list
sed -i "s/security.ubuntu.com/mirrors.aliyun.com/g" /etc/apt/sources.list

容器update时nvidia报错NO_PUBKEY A4B469963BF863CC

echo 'deb 
https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64 /' > /etc/apt/sources.list.d/cuda.list
gpg --keyserver keyserver.ubuntu.com --recv-keys A4B469963BF863CC
gpg --export --armor A4B469963BF863CC | apt-key add -

设置pip源

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
http://www.lryc.cn/news/380009.html

相关文章:

  • 网络安全-如何设计一个安全的API(安全角度)
  • 微积分-导数1(导数与变化率)
  • 最新PHP仿猪八戒任务威客网整站源码/在线接任务网站源码
  • Windows安装配置jdk和maven
  • 电子SOP实施(MQTT协议)
  • 【Unity导航系统】Navigation组件的概念及其使用示例
  • vue-cli 根据文字生成pdf格式文件 jsPDF
  • 【嵌入式DIY实例】-Nokia 5110显示DS3231 RTC数据
  • 【十三】图解mybatis缓存模块之装饰器模式
  • 字节大神强推千页PDF学习笔记,弱化学历问题,已拿意向书字节提前批移动端!
  • Python爬虫-贝壳二手房“改进版”
  • zookeeper学习、配置文件参数详解
  • SVG 模糊效果
  • Electron+vite+vuetify项目搭建
  • 洛谷:P1085 [NOIP2004 普及组] 不高兴的津津
  • Webpack4从入门到精通以及和webpack5对比_webpack现在用的是哪个版本
  • 巴鲁夫MacroBuilder2.0.0.0软件巴鲁夫和使用手侧
  • 分享:Javascript开源桌面环境-Puter
  • 【idea-jdk1.8】使用Spring Initializr 创建 Spring Boot项目没有JDK8
  • 647. 回文子串(leetcode)
  • 【车载开发系列】汽车嵌入式开发常用工具介绍
  • python脚本获取本机IP的方式
  • 查看LabVIEW及各个模块和驱动的版本号
  • LLM主流架构和模型
  • 为企业提供动力:用于大型组织的WordPress
  • Django框架数据库ORM查询操作
  • font-spider按需生成字体文件
  • 双叒叕-一个-Android-MVVM-组件化架构框架?
  • STM32单片机BKP备份寄存器和RTC实时时钟详解
  • vue3+ts 使用vue3-ace-editor实现Json编辑器