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

ubuntu22.04离线一键安装gpu版docker

一、安装前准备

1、安装ubuntu22.04系统
2、安装显卡驱动
3、下载gpu版docker离线包
4、直接执行脚本文件,一键部署

二、docker部署

sudo sh ./install.sh

一键部署docker脚本

#!/bin/bash
set -eDOCKER_ROOT="/opt/docker"
CURRENT_USER=$(logname)  # 获取当前登录用户(非 sudo 用户)echo "[0/4] 创建 Docker 数据目录: $DOCKER_ROOT"
sudo mkdir -p "$DOCKER_ROOT"
sudo chown root:root "$DOCKER_ROOT"echo "[1/4] 安装 Docker..."
sudo apt install -y ./containerd.io_*.deb ./docker-ce-cli_*.deb ./docker-ce_*.deb ./docker-buildx-plugin_*.deb ./docker-compose-plugin_*.debecho "[2/4] 安装 NVIDIA 工具包..."
sudo apt install -y ./libnvidia-container*.deb ./nvidia-container-toolkit*.debecho "[3/4] 配置 Docker GPU Runtime 和自定义数据目录..."
sudo mkdir -p /etc/docker
cat <<EOF | sudo tee /etc/docker/daemon.json
{"data-root": "$DOCKER_ROOT","default-runtime": "nvidia","runtimes": {"nvidia": {"path": "nvidia-container-runtime","runtimeArgs": []}}
}
EOFecho "🔄 重启 Docker 服务并应用配置..."
sudo systemctl daemon-reexec
sudo systemctl restart docker
sudo systemctl enable dockerecho "[4/4] 允许非 root 用户 '$CURRENT_USER' 使用 Docker..."
sudo groupadd -f docker
sudo usermod -aG docker "$CURRENT_USER"echo "✅ 安装完成!Docker 镜像路径: $DOCKER_ROOT"
echo "👉 当前用户已加入 docker 组,请重新登录或执行以下命令生效:"
echo ""
echo "   newgrp docker"
echo ""

可以自定义自己的docker镜像安装位置,并且添加用户组,不用root权限执行。

三、docker常用命令

# docekr系统设置
sudo systemctl daemon-reexec
sudo systemctl restart docker
sudo systemctl enable docker# docker创建
docker pull docker
docker images
docker run --gpus all --runtime=nvidia --network host --name test --restart always -itd --cap-add=SYS_PTRACE -v /home/ubuntu:/home -p 8822:22 image_id /bin/bash
docker ps -a
docker exec -it image_id /bin/bash# docker常用命令
docker start image_id
docker rm image_id# 打包镜像
docker build -t image_name:tag -f Dockerfile .
docker save -o image_name.tar image_name:tag
docker load -i image_id.tar

一键打包镜像脚本

#!/bin/bash
set -eIMAGE_SRC="docker.m.daocloud.io/ubuntu:22.04"
IMAGE_NAME="ubuntu22.04-offline"
IMAGE_TAG="v1.0"
FULL_IMAGE_NAME="${IMAGE_NAME}:${IMAGE_TAG}"
TAR_NAME="${IMAGE_NAME}-${IMAGE_TAG}.tar"echo "🧊 拉取基础镜像: $IMAGE_SRC"
docker pull "$IMAGE_SRC"echo "📦 构建本地镜像: $FULL_IMAGE_NAME"
docker build -t "$FULL_IMAGE_NAME" -<<EOF
FROM $IMAGE_SRC
CMD ["bash"]
EOFecho "💾 保存离线镜像为: $TAR_NAME"
docker save -o "$TAR_NAME" "$FULL_IMAGE_NAME"echo "✅ 镜像打包完成:$TAR_NAME"
echo "👉 可在离线机器导入命令:docker load -i $TAR_NAME"
echo "👉 然后运行镜像:docker run -it --rm $FULL_IMAGE_NAME"
http://www.xdnf.cn/news/1232731.html

相关文章:

  • [Linux入门] Ubuntu 系统中 iptables 的配置与使用
  • 【Django】-4- 数据库存储和管理
  • 【Python修仙编程】(二) Python3灵源初探(11)
  • RAWINPUT避坑指南(涉及GetRawInputData/GetRawInputBuffer)
  • 【智能体cooragent】创建 workflow 时 候选 Agent 和 Tool 获取来源详细分析
  • 深入 Go 底层原理(六):垃圾回收(GC)
  • Kafka——关于Kafka动态配置
  • 洛谷 P3870 [TJOI2009] 开关-普及+/提高
  • 【学习笔记】MySQL技术内幕InnoDB存储引擎——第7章 事务
  • 【Java】在一个前台界面中动态展示多个数据表的字段及数据
  • InfluxDB 与 Node.js 框架:Express 集成方案(二)
  • 中州养老项目:Mybatis自动填充拦截器
  • 大模型Agent记忆的主流技术与优缺点解析
  • 网页操作自动化解决方案:如何用Browser-Use+CPolar提升企业运营效率
  • CYUSB3014-BZXC-USB3.0接口芯片-富利威
  • 解锁智能油脂润滑系统:加速度与温振传感器选型协同攻略
  • Javascript面试题及详细答案150道之(016-030)
  • 前端与后端部署大冒险:Java、Go、C++三剑客
  • SQL语言学习(group by,having)
  • 半导体物理复习
  • TypeScript03-web项目知识
  • 路面障碍物识别漏检率↓76%:陌讯多模态融合算法实战解析
  • linux 启动流程?
  • C++入门基础(三):const引用、指针和引用的关系、inline(修饰内联函数)替代宏、nullptr代替null
  • .env 文件
  • 对于考研数学的理解
  • 【MySQL】增删改查操作 —— CRUD
  • 【软考中级网络工程师】知识点之级联
  • 驾驶场景玩手机识别:陌讯行为特征融合算法误检率↓76% 实战解析
  • 数字化转型驱动中小制造企业的质量管理升级