Docker 部署
1 完全清除旧版本docker
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done
Images, containers, volumes, and networks stored in /var/lib/docker/ aren't automatically removed when you uninstall Docker. If you want to start with a clean installation,To delete all images, containers, and volumes:
sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
2 安装docker Get DOcker
2.0 离线安装
- Go to docker download
-
Go to
pool/stable/and select the applicable architecture (amd64,armhf,arm64, ors390x). -
Download the following
debfiles for the Docker Engine, CLI, containerd, and Docker Compose packages:containerd.io_<version>_<arch>.debdocker-ce_<version>_<arch>.debdocker-ce-cli_<version>_<arch>.debdocker-buildx-plugin_<version>_<arch>.debdocker-compose-plugin_<version>_<arch>.deb
- install all the deb
sudo dpkg -i ./containerd.io_<version>_<arch>.deb \./docker-ce_<version>_<arch>.deb \./docker-ce-cli_<version>_<arch>.deb \./docker-buildx-plugin_<version>_<arch>.deb \./docker-compose-plugin_<version>_<arch>.deb
2.1 X86_64在线安装docker-ce
sudo apt update
sudo apt install apt-transport-https ca-certificates curl software-properties-common -y
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt update
sudo apt install docker-ce -y
sudo systemctl enable docker
3 Docker 常用命令
- docker save -o xxx.tar images_name
- docker load -i xxx.tar
- 启动 imaes as container sudo docker run -it --runtime=nvidia -v /data:/work images_name /bin/bash
- sudo docker run -d -it --runtime nvidia -v /data:/work images_name /bin/bash(后台运行)
- docker exec -it id /bin/bash #进入容器,前提是必须执行上面步骤
- docker exec -d id /bin/bash /opt/command #后台进入docker 执行指令
4 更新docker里的文件,并打包成新镜像
参考链接 docker 从入门到实践
-
docker run -d -it images_id /bin/shdocker psdocker exec -it contanined_id bashchange your fileexitdocker commit -m "提交信息" -a "作者" contain_id new_images_id:tagdocker imagesdocker save -o xxx.tar new_images_id
5 在docker 中使用GPU资源
1 在docker中使用gpu资源有以下几种方法:
-
因为
GPU属于特定的厂商产品,需要特定的driver,Docker本身并不支持GPU。以前如果要在Docker中使用GPU,就需要在container中安装主机上GPU的driver,然后把主机上的GPU设备(例如:/dev/nvidia0)映射到container中。所以这样的Docker image并不具备可移植性。Nvidia-docker项目就是为了解决这个问题,它让Docker image不需要知道底层GPU的相关信息,而是通过启动container时mount设备和驱动文件来实现的。
在你使用 nvidia-docker2 的时候,你需要做的有两件事
- 安装
GPU的driver Dirver Download - 安装
docker 19.03 - 你不需要安装
CUDA- 集成到
nvidia-docker了 - 显卡驱动在主机上,包含显卡驱动和CUDA Driver,我们安装的cuda主要是cuda tookit(包含在nvidia-docker内)
- 集成到
- nvidai-docker 官方安装流程
- If you have a custom
/etc/docker/daemon.json, thenvidia-docker2package might override it.
nvidia-docker 2.0 的核心东西是nvidia-contained-runtime,它主要通过修改docker的配置文件/etc/docker/daemon.json来让docker使用NVIDIAContainerRuntime。
如你安装完nvidia-docker2,deamon.json 内容如下,确保本地部署的模型在GPU上正确运行
{"runtimes": {"nvidia": {"path": "nvidia-container-runtime","runtimeArgs": []}}
}
2 在Docker启动命令上携带参数可以调用GPU资源。以下是两种方法:
- 使用--gpus参数:指定使用的GPU设备。可以使用多个参数来指定多个设备,例如--gpus all表示使用所有GPU设备,--gpus 0,1表示使用编号为0和1的两个设备。
示例:docker run --gpus all my_image
- 使用--runtime=nvidia参数:指定使用NVIDIA GPU运行时,需要在安装Docker时安装NVIDIA Container Toolkit。
示例:docker run --runtime nvidia my_image
- 另外,也可以使用--device参数来指定使用的GPU设备,例如--device=/dev/nvidia0:/dev/nvidia0表示使用/dev/nvidia0设备。但需要注意的是,该参数的使用方法可能会因不同的操作系统和Docker版本而略有不同。
- Ubuntu 在线安装 nvidia-docker2
#install nvidia-docker2 curl -sL https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - distribution=$(. /etc/os-release;echo $ID$VERSION_ID) curl -sL https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | tee /etc/apt/sources.list.d/nvidia-docker.list sudo apt update sudo apt install nvidia-docker2 -y6 常见docker 镜像
-
Nvidia Jetson 系列
-
Huawei Ascend
-
nvidia/cuda
-
nvidia container runtime on Jeston
-
CUDA upgrade for Jetson User
相关文章:
Docker 部署
1 完全清除旧版本docker for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; doneImages, containers, volumes, and networks stored in /var/lib/docker/ arent automatically removed when y…...
ffmpeg推流+nginx转发+拉流(RTMP拉流)
参考:https://blog.csdn.net/weixin_43796767/article/details/117307845 1.搭建支持rtmp转发的nginx服务 git clone https://github.com/arut/nginx-rtmp-module wget http://nginx.org/download/nginx-1.8.0.tar.gz tar -xvf nginx-1.8.0.tar.gz cd nginx-1.8.0/ ./confi…...
【Python第三方包】解析和生成二维码(pyqrcode包)
文章目录 前言一、安装pyqrcode包二、生成二维码2.1 二维码生成基础使用2.2 自定义二维码样式颜色设置错误纠正级别尺寸设置三、解析二维码总结前言 在现代信息时代,二维码(QR码)已经成为了快速传递信息的常见方式。Python提供了多种第三方包,用于生成和解析二维码。其中,…...
自适应键盘高度
自适应系统键盘 背景代码demo 背景 键盘高度无法获取,倒是输入框抖动问题 代码 设置 android:windowSoftInputMode“adjustNothing” public class KeyBoardHelper {private static final String TAG "KeyBoardHeightHelper";private PopupWindow po…...
【JavaEE】计算机是如何工作的
计算机是如何工作的 冯诺依曼体系操作系统操作系统的概念与定位进程和任务操作系统对进程的管理PCB 的相关信息 冯诺依曼体系 现代的大多数计算机, 都遵循冯诺依曼体系 CPU 中央处理器: 进行算术运算和逻辑判断存储器: 分为外存和内存, 用于存储数据(使用二进制方式存储)输入…...
12JVM基础
五、JVM 17、JVM基础 说一下堆栈的区别? 功能方面:堆是用来存放对象的,栈是用来执行程序的。 共享性:堆是线程共享的,栈是线程私有的。 空间大小:堆大小远远大于栈。队列和栈是什么?有什么区别…...
07 创建型模式-单例模式
1.单例模式介绍 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一,此模式保证 某个类在运行期间,只有一个实例对外提供服务,而这个类被称为单例类。 2.使用单例模式要做的两件事 保证一个类只有一个实例…...
RunnerGo 支持UI自动化的测试平台
RunnerGo提供从API管理到API性能再到可视化的API自动化、UI自动化测试功能模块,覆盖了整个产品测试周期。 RunnerGo UI自动化基于Selenium浏览器自动化方案构建,内嵌高度可复用的测试脚本,测试团队无需复杂的代码编写即可开展低代码的自动化…...
LLM ReAct: 将推理和行为相结合的通用范式 学习记录
LLM ReAct 什么是ReAct? LLM ReAct 是一种将推理和行为相结合的通用范式,可以让大型语言模型(LLM)根据逻辑推理(Reason),构建完整系列行动(Act),从而达成期望目标。LLM ReAct 可以应用于多种语言和决策任务,例如问答、事实验证、交互式决策等,提高了 LLM 的效率、…...
聊聊分布式架构08——SpringBoot开启微服务时代
目录 微服务架构时代 快速入门 入门详解 SpringBoot的自动配置 石器时代:XML配置bean 青铜时代:SpringConfig 铁器时代:AutoConfigurationImportSelector 手写简单Starter SpringApplication启动原理 微服务架构时代 Spring Boot的…...
Vue项目中集成TinyMCE富文本编辑器(图片批量上传等)
TinyMCE富文本在Vue中的使用 关于TinyMCE 实现效果 安装使用TinyMCE 第一步 第二步 1.官网申请Your Tiny API Key,并且配置访问域名: 2.使用css隐藏(这个就不讲了,不推荐使用) 3.全部由本地加载(推荐) 第三步(汉化包) 第四步(封装组…...
前端数据可视化之【title、legend、tooltip、toolbox 】配置项
目录 🌟Echarts配置项🌟Echarts配置项之 title组件🌟Echarts配置项之 legend组件🌟Echarts配置项之 tooltip组件🌟Echarts配置项之 toolbox组件🌟写在最后 🌟Echarts配置项 ECharts开源来自百度…...
microcom串口调试工具使用
microcom串口助手使用介绍 microcom是一个在终端中使用的串口助手,类似平常使用SSCOM一样的东西,不过是在终端中使用而已。 使用的是busybox构建的文件系统 microcom源码路径:busybox/miscutils/microcom.c microcom 参数: [r…...
深入了解Golang:基本语法与核心特性解析
1. 引言 Golang(Go)是谷歌开发的一门开源编程语言,于2007年首次公开亮相,随后在2012年正式发布。Golang以其简洁、高效和可靠的设计而备受开发者青睐。作为一门编译型语言,Golang具有静态类型和垃圾回收功能ÿ…...
短视频矩阵系统源码---php搭建
一、智能剪辑、矩阵分发、无人直播、爆款文案于一体独立应用开发 抖去推----主要针对本地生活的----移动端(小程序软件系统,目前是全国源头独立开发),开发功能大拆解分享,功能大拆解: (1)数据概览&#x…...
mysql 查询表字段名,注释 , 以及sql拼接查询出的内容
#sql查询字段名,注释操作拼接 #查询字段名和注释 select COLUMN_NAME,COLUMN_COMMENT from information_schema.COLUMNS where table_name 表名 and table_schema 库名 order by ordinal_position #查询整个内容 select * from information_schema.COLUMNS wh…...
【JavaEE】_Servlet API
目录 1. HttpServlet 1.1 init方法 1.2 destroy方法 1.3 service方法 1.4 Servlet的生命周期 1.5 代码示例 1.5.1 使用postman构造请求 1.5.2 使用ajax构造请求 2. HttpServletRequest 2.1 核心方法 2.2 代码示例1:打印请求信息 3. 前端给后端传参 3.1…...
macOS下matplotlib如何显示中文字体?
一般要显示中文会使用: plt.rcParams[font.sans-serif][SimHei] #用来正常显示中文标签 plt.rcParams[axes.unicode_minus]False #用来正常显示负号不过在macOS下通常会显示方块字: 解决方案: 把上面两句注释掉,更换为…...
7-Zip怎么设置字典大小 单词大小 固实数据大小,把大文件9.35G压缩成小1.56G
环境: Win10 专业版 7-Zip v23.01 问题描述: 7-Zip怎么设置字典大小 单词大小 固实数据大小,把大文件9.28G压缩成小1.56G 解决方案: 要在7-Zip中设置字典大小、单词大小和固实数据大小,可以按照以下步骤进行操作: 打开7-Zip文件管理器,并导航到你要压缩的文件所在的…...
使用CPR库和Python编写程序
以下是一个使用CPR库和Python编写的爬虫程序,用于爬取。此程序使用了proxy的代码。 import requests from cpr import CPR def get_proxy():url "https://www.duoip.cn/get_proxy"headers {"User-Agent": "Mozilla/5.0 (Windows NT …...
AI核心知识139—大语言模型之 合成数据(简洁且通俗易懂版)
合成数据 (Synthetic Data) 是 AI 时代的“人造人造肉” 或者“实验室大棚蔬菜” 。如果说过去十几年,训练 AI 用的是从互联网大自然里“野生采摘”的数据(人类写的文章、拍的照片); 那么现在,为了应对我们上一条聊过的…...
别再盲信AI建议!VSCode 2026错误诊断可信度分级白皮书(含12类错误类型置信度阈值表·仅限内部技术委员会流通)
更多请点击: https://intelliparadigm.com 第一章:VSCode 2026 AI错误修复建议可信度范式重构 VSCode 2026 引入了全新的 AI 错误修复建议可信度评估引擎(Credibility-Aware Suggestion Engine, CASE),其核心不再依赖…...
C++网关延迟从23ms飙到287ms的元凶曝光:mmap()映射页表污染、RSEQ指令未启用、以及被忽略的Intel TSX abort率阈值
更多请点击: https://intelliparadigm.com 第一章:C编写高吞吐量MCP网关的最佳实践概览 MCP(Message Control Protocol)网关作为微服务间低延迟、高可靠消息路由的核心组件,其性能瓶颈往往集中在内存管理、线程调度与…...
InkOS:基于多Agent协作与长期记忆的AI小说创作系统深度解析
1. 项目概述:一个能自主写小说的AI Agent如果你对AI写作的印象还停留在“输入一句话,生成一段文”的简单工具,那么InkOS可能会颠覆你的认知。这不是一个玩具,而是一个拥有完整创作管线、具备长期记忆和自主审计能力的“小说创作AI…...
Winhance中文版:让Windows系统优化变得简单高效的免费工具
Winhance中文版:让Windows系统优化变得简单高效的免费工具 【免费下载链接】Winhance-zh_CN A Chinese version of Winhance. C# application designed to optimize and customize your Windows experience. 项目地址: https://gitcode.com/gh_mirrors/wi/Winhanc…...
Exception Notification高级配置指南:自定义忽略规则与错误分组策略
Exception Notification高级配置指南:自定义忽略规则与错误分组策略 【免费下载链接】exception_notification 项目地址: https://gitcode.com/gh_mirrors/ex/exception_notification Exception Notification是一款功能强大的错误跟踪工具,能够帮…...
3分钟永久备份你的QQ空间:GetQzonehistory终极指南
3分钟永久备份你的QQ空间:GetQzonehistory终极指南 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 还记得那些年发过的QQ空间说说吗?从青涩的学生时代到初入社会…...
如何快速掌握音频频谱分析:Spek声学工具终极指南
如何快速掌握音频频谱分析:Spek声学工具终极指南 【免费下载链接】spek Acoustic spectrum analyser 项目地址: https://gitcode.com/gh_mirrors/sp/spek 你是否曾经好奇音乐中的高低频分布?或者想检查录音中的噪声问题?Spek就是你的答…...
CSS 属性选择器
CSS 属性选择器 CSS 属性选择器是一种用于选择具有特定属性值的元素的选择器。通过属性选择器,开发者可以更加精确地控制页面中特定元素的外观和行为。本文将详细介绍 CSS 属性选择器的概念、使用方法和示例。 一、属性选择器的概念 属性选择器允许开发者根据元素所具有的属…...
欧姆龙NJ/NX系列PLC FINS通信实战:在Ignition SCADA中配置数据采集的完整流程
欧姆龙NJ/NX系列PLC FINS通信实战:在Ignition SCADA中配置数据采集的完整流程 工业自动化系统的核心在于设备间的无缝通信。作为欧姆龙新一代控制器的代表,NJ/NX系列PLC凭借其高性能和可靠性,在智能制造领域占据重要地位。而FINS协议作为欧姆…...
