【深度学习环境】Docker
1. Docker 相关安装配置
1.1 docker 安装
参考:https://www.runoob.com/docker/ubuntu-docker-install.html
1.2 nvidia-docker 安装
参考:https://zhuanlan.zhihu.com/p/37519492
1.3 代理加速
参考:https://yeasy.gitbook.io/docker_practice/install/mirror
2. Docker 使用
2.1 获取镜像
在Docker Hub 上有大量高质量的镜像可以用。例如搜索本地安装令人无比头疼的深度学习框架,Caffe 可以使用搜索可用的镜像:
sudo docker search caffe
- NAME 镜像名称, 可以使用 docker pull [NAME] 拉取
- DESCRIPTION 描述
- STARS
- OFFICIAL 是否是官方镜像
- AUTOMATED
2.2 镜像管理
2.2.1 列出本地镜像
sudo docker image ls
- REPOSITORY 仓库名
- TAG 标签
- IMAGE ID 镜像ID
- CREATED 创建时间
- SIZE 所占用空间
镜像的体积总和并非实际硬盘消耗,由于Docker镜像是多层存储结构,并且可以继承、复用,因此不同镜像可能会因为使用相同的基础镜像,从而拥有共同的层。可以使用以下命令查看镜像、容器、数据卷所占用的空间。
sudo docker system df
2.2.2 悬浮镜像
REPOSITORY TAG IMAGE ID CREATED SIZE
<none> <none> a69d525d695d 2 minutes ago 5.09GB
悬浮镜像或因为升级、重名等原因导致的。悬浮镜像一般来说失去了存在的价值,可以随意删除。删除命令
docker image prune 删除悬浮镜像
2.2.3 列出特定的镜像
docker image ls 还支持强大的过滤参数 --filter, 或者简写为 -f 。比如我们希望看到在 mongo:3.2之后建立的镜像,可以使用
docker image ls -f since=mongo:3.2
默认情况下,docker image ls 会输出一个完整的表格,但是我们并非所有时候都会需要这些内容。比如,刚才删除镜像时,我们需要利用 docker image ls 把所有的虚浮镜像的ID列出来,然后交给 docker image rm 命令删除。这个时候就可以用 -q参数。
2.3 删除本地镜像
- 使用 镜像名删除
docker image rm redis:alpine
- 使用长ID删除
docker image rm 0584b3d2cf6d
- 配合 docker image ls 删除
比如: 我们需要删除所有仓库名为redis的镜像
docker image rm $(docker image ls -q redis)
2.4 commit
镜像是容器的基础,每次执行 docker run 的时候都会指定哪个镜像作为容器运行的基础。当这些容器无法直接满足需求时,我们就需要定制这些容器。当我们运行一个容器的时候,我们做的任何文件修改都会被记录于容器存储层里。而Docker 提供了一个 docker commit 命令,可以将容器的存储层保存下来成为镜像。换句话说,就是在原有镜像的基础上,再叠加上容器的存储层,并构成新的镜像。
docker commit 的语法格式:
docker commit [选项] <容器ID或者容器名> [<仓库名> [: <标签>]]
我们可以用下面的命令将容器保存为镜像:
docker commit \
--author "xxx" \
--message "Message" \
webserver \
nginx:v2
提交后:
$ docker image ls nginx
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx v2 07e334659748 9 seconds ago 181.5 MB
nginx 1.11 05a60462f8ba 12 days ago 181.5 MB
nginx latest e43d811ce2f4 4 weeks ago 181.5 MB
我们还可以使用 docker history 来具体查看镜像内的历史记录
2.5 启动docker
sudo docker run --name anomalibc \
-it -d --gpus all --shm-size="16g" \
-p 13022:22 -v /data/ljl/:/work_space anomalib:v1.1
- –name 设置容器名字
当出现名字重复的时候,可以使用
sudo docker ps -a
列出所有容器,然后删除对应的已经停止,但是仍然有记录的容器。
sudo docker rm [容器ID]
2.6 ssh 修改
1> 修改ubuntu 源
相关文章:

【深度学习环境】Docker
1. Docker 相关安装配置 1.1 docker 安装 参考:https://www.runoob.com/docker/ubuntu-docker-install.html 1.2 nvidia-docker 安装 参考:https://zhuanlan.zhihu.com/p/37519492 1.3 代理加速 参考:https://yeasy.gitbook.io/docker_…...

基于vscode开发vue项目的详细步骤教程 2 第三方图标库FontAwesome
1、Vue下载安装步骤的详细教程(亲测有效) 1_水w的博客-CSDN博客 2、Vue下载安装步骤的详细教程(亲测有效) 2 安装与创建默认项目_水w的博客-CSDN博客 3、基于vscode开发vue项目的详细步骤教程_水w的博客-CSDN博客 目录 六、第三方图标库FontAwesome 1 安装FontAwesome 解决报…...

今天面了个腾讯拿25K出来的软件测试工程师,让我见识到了真正的天花板...
今天上班开早会就是新人见面仪式,听说来了个很厉害的大佬,年纪还不大,是上家公司离职过来的,薪资已经达到中高等水平,很多人都好奇不已,能拿到这个薪资应该人不简单,果然,自我介绍的…...
OSG三维渲染引擎编程学习之六十九:“第六章:OSG场景工作机制” 之 “6.9 OSG数据变量”
目录 第六章 OSG场景工作机制 6.9 OSG数据变量 第六章 OSG场景工作机制 作为一个成熟的三维渲染引擎,需要提供快速获取场景数据、节点等信息,具备自定义数据或动画更新接口,能接收应用程序或窗口等各类消息。OSG三维渲染引擎能较好地完成上述工作,OSG是采用什么方式或工作…...
Tektronix泰克TDP3500差分探头3.5GHz
附加功能: 带宽:3.5 GHz 差分输入电容:≤0.3 pF 差分输入电阻:100 kΩ DC pk 交流输入电压:15 V >60 dB 在 1 MHz 和 >25 dB 在 1 GHz CMRR 出色的共模抑制——减少较高共模环境中的测量误差 低电容和电阻负载…...

轻松实现内网穿透:实现远程访问你的私人网络
导语:内网穿透是什么?为什么我们需要它?今天我们将介绍这个令人惊叹的技术,让你实现远程访问你的私人网络。 使用内网穿透,轻松实现外网访问本地部署的网站 第一部分:什么是内网穿透? 通俗解释…...
MySQL长字符截断
MySQL超长字符截断又名"SQL-Column-Truncation",是安全研究者Stefan Esser在2008 年8月提出的。 在MySQL中的一个设置里有一个sql_mode选项,当sql_mode设置为default时,即没有开启STRICT_ALL_TABLES选项时(MySQLsql_mo…...
python计算量比指标
百度百科是这么写的:量比定义:股市开市后平均每分钟的成交量与过去5个交易日平均每分钟成交量之比。计算公式:量比(现成交总手数 / 现累计开市时间(分) )/ 过去5日平均每分钟成交量。这里公式没有问题,但是…...

下拉框推荐-Suggest-SUG
什么是下拉框推荐 在我们使用各种app(飞猪)想要搜索我们想要的东西,假设我想要上海迪士尼的门票,那么精确的query是“上海迪士尼门票”,要打7个字,如果在你输入“上海”的时候app就推荐了query“上海迪士尼…...
Nmap的几种扫描方式以及相应的命令
Nmap是一款常用的网络扫描工具,它可以扫描目标网络上的主机和服务,帮助安全研究员了解目标网络的拓扑结构和安全情况。以下是Nmap的几种扫描方式以及相应的命令: 1.Ping扫描 Ping扫描可以用来探测网络上响应的主机,可以使用“-sn…...

Qt::QOpenGLWidget 渲染天空壳
在qt窗口中嵌入opengl渲染天空壳和各种立方体一 学前知识天空壳的渲染学前小知识1 立方体贴图 天空壳的渲染就是利用立方体贴图来实现渲染流程2 基础光照 光照模型3 opengl帧缓冲 如何自定义帧缓冲实现后期特效4 glsl常见的shader内置函数 glsl编程常用的内置函数二 shader代码…...

谷歌搜索技巧大全 | 谷歌高级搜索语法指令
谷歌搜索技巧是利用各种高级搜索语法或者搜索指令,让我们能够使用Google进行精确化的搜索,外贸找客户和学术文件查找都可以应用到这些搜索技巧。(大部分命令也适用百度搜索)。Google通过互联网收集数据,抓取有意义的信息,将其存储…...

JAVA开发(JAVA垃圾回收的几种常见算法)
JAVA GC 是JAVA虚拟机中的一个系统或者说是一个服务,专门是用于内存回收,交还给虚拟机的功能。 JAVA语言相对其他语言除了跨平台性,还有一个最重要的功能是JAVA语言封装了对内存的自动回收。俗称垃圾回收器。所以有时候我们不得不承认&#…...

你还不会用CAD一键布置停车位?赶紧学起来!
在设计CAD建筑图的过程中,你还在一个一个地画停车位吗?那未免也太低效了吧!今天,小编用浩辰CAD建筑软件来教大家一键布置停车位,赶紧学起来吧! 浩辰CAD建筑软件是行业应用最广泛的创新型建筑设计专业软件&…...

【MySQL之MySQL底层分析篇】系统学习MySQL,从应用SQL语法到底层知识讲解,这将是你见过最完成的知识体系
文章目录MySQL体系结构MySQL存储结构(以InnoDB为例)MySQL执行流程(以InnoDB为例)1. 数据写入原理2. 数据查询原理MySQL存储引擎1. 为什么需要不同的存储引擎2. 如何为数据指定不同的存储引擎,数据粒度又是多少3. MySQL…...

单核CPU是否有线程可见性问题?
本文仅是本人对问题的思考记录,并没有实操验证,有误请大家评论指出。 今天见到了一个经典的问题,单核CPU是否有线程可见性问题,学完操作系统应该可以直接回答,不会有线程安全问题。但如果结合JVM虚拟机来进行分析&…...

MyBatis 架构介绍
MyBatis 架构介绍MyBatis 架构图MyBatis 所解决的 JDBC 中存在的问题引用MyBatis 架构图 mybatis 配置:mybatis-config.xml,此文件作为 mybatis 的全局配置文件,配置了 mybatis 的运行环境等信息。另一个 mapper.xml 文件即 sql 映射文件,文件…...
加密算法---RSA 非对称加密原理及使用
加密算法---RSA 非对称加密原理及使用一 非对称加密原理介绍二 加密解密测试2.1 加密解密工具类2.2 测试一 非对称加密原理介绍 非对称加密算法中,有两个密钥:公钥和私钥。它们是一对,如果用公钥进行加密,只有用对应的私钥才能解…...
MySQL-查询语句
数据库管理系统的一个最重要的功能就是数据查询,数据查询不应只是简单查询数据库中存储的数据,还应该根据需要对数据进行筛选,以及确定数据以什么样的格式显示。MySQL提供了功能强大、灵活的语句来实现这些操作。下面是通过help帮助查看到的s…...
【算法】【数组与矩阵模块】求数组中需要排序的最短子数组长度
目录前言问题介绍解决方案代码编写java语言版本c语言版本c语言版本思考感悟写在最后前言 当前所有算法都使用测试用例运行过,但是不保证100%的测试用例,如果存在问题务必联系批评指正~ 在此感谢左大神让我对算法有了新的感悟认识! 问题介绍 …...

SpringBoot-17-MyBatis动态SQL标签之常用标签
文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...
在软件开发中正确使用MySQL日期时间类型的深度解析
在日常软件开发场景中,时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志,到供应链系统的物流节点时间戳,时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库,其日期时间类型的…...

iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘
美国西海岸的夏天,再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至,这不仅是开发者的盛宴,更是全球数亿苹果用户翘首以盼的科技春晚。今年,苹果依旧为我们带来了全家桶式的系统更新,包括 iOS 26、iPadOS 26…...

遍历 Map 类型集合的方法汇总
1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...

Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
VTK如何让部分单位不可见
最近遇到一个需求,需要让一个vtkDataSet中的部分单元不可见,查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行,是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示,主要是最后一个参数,透明度…...

在WSL2的Ubuntu镜像中安装Docker
Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包: for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...

使用 SymPy 进行向量和矩阵的高级操作
在科学计算和工程领域,向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能,能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作,并通过具体…...
纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join
纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...

通过 Ansible 在 Windows 2022 上安装 IIS Web 服务器
拓扑结构 这是一个用于通过 Ansible 部署 IIS Web 服务器的实验室拓扑。 前提条件: 在被管理的节点上安装WinRm 准备一张自签名的证书 开放防火墙入站tcp 5985 5986端口 准备自签名证书 PS C:\Users\azureuser> $cert New-SelfSignedCertificate -DnsName &…...