【深度学习环境】Docker

news2024/11/25 23:22:11

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 源

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/377552.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java学习之路001——基础语法以及IDEA的基础使用

【说明】以下内容&#xff0c;选取于网上搜索进行的排版。如有冲突&#xff0c;请联系作者删除。 一、第一个Hello World程序 1.1 开发工具介绍 eclipse IntelliJ IDEA 1.2 案例开发步骤 首先定义一个类class 类名 在类定义后加上一对大括号{} 在大括号中间添加一个主(ma…

别克GL8改装完工,一起来看看效果

①豪华商务头等舱 别克GL8作为商务车&#xff0c;不管是家用还是商务接待&#xff0c;原车内饰都太掉档次了&#xff0c;所以车主要求全部换掉。>>织布座椅换成航空座椅 主副驾&#xff1a;改装纳帕皮 中排&#xff1a;改装水晶宝座豪华版航空座椅&#xff0c;带通风、加…

Dataway 让 Spring Boot 不再需要 Controller、Service、DAO、Mapper 简单接口直接开发。

新的sql语法可以先看一下官网&#xff0c;部署起来之后会用到Dataql&#xff1a; DataQL - 数据查询语言https://www.dataql.net/先看一下效果 接下来来实现一下。 1 创建spring boot项目 导入依赖 <!--begin dataWay--><!--hasor-spring 负责 Spring 和 Hasor 框架之…

【操作系统】进程管理

进程与线程 1. 进程 进程是资源分配的基本单位 进程控制块 (Process Control Block, PCB) 描述进程的基本信息和运行状态&#xff0c;所谓的创建进程和撤销进程&#xff0c;都是指对 PCB 的操作。 下图显示了 4 个程序创建了 4 个进程&#xff0c;这 4 个进程可以并发地执行…

实战|掌握Linux内存监视:free命令详解与使用技巧

文章目录前言一. free命令介绍二. 语法格式及常用选项三. 参考案例3.1 查看free相关的信息3.2 以MB的形式显示内存的使用情况3.3 以总和的形式显示内存的使用情况3.4 周期性的查询内存的使用情况3.5 以更人性化的形式来查看内存的结果输出四. free在脚本中的应用总结前言 大家…

LAMP项目部署实战2

部署Discuz!论坛 一、Discuz&#xff01;论坛概述&#xff1a; 1&#xff09;Discuz&#xff01;论坛是基于phpmysql进行开发的一套开源的论坛系统。 2&#xff09;下载源代码&#xff1a; 下载地址&#xff1a;码云DiscuzX: Discuz! X 官方 Git&#xff0c;简体中文 UTF8 版…

2023年,35岁测试工程师只能被“优化裁员”吗?肯定不是····

国内的互联网行业发展较快&#xff0c;所以造成了技术研发类员工工作强度比较大&#xff0c;同时技术的快速更新又需要员工不断的学习新的技术。因此淘汰率也比较高&#xff0c;超过35岁的基层研发类员工&#xff0c;往往因为家庭原因、身体原因&#xff0c;比较难以跟得上工作…

mongo数据备份

目录1. mongo单机安装2. mongo(replica set)部署3. mongodump 与 mongorestore工具使用4.rsync工具使用服务端配置客户端配置客户端推送与拉取文件5. 完整mongo全量备份脚本恢复全量备份数据6. 完整mongo增量备份脚本(基于oplog)恢复增量备份数据7.备份策略1. mongo单机安装 m…

高数:极限的定义

目录 极限的定义&#xff1a; 数列极限的几何意义&#xff1a; 由极限的定义得出的极限的两个结论&#xff1a; ​编辑 极限的第三个结论&#xff1a; 例题 方法1&#xff1a; ​编辑 方法2&#xff1a; ​编辑 方法3&#xff1a; ​编辑 极限的定义&#xff1a; 如何理…

JDK8常用新特性的原理与代码演示

Lambda Lambda 表达式&#xff0c;也可称为闭包&#xff0c;Lambda 允许把函数作为一个方法的参数。 格式 (参数列表) -> {代码块} (parameters) -> expression 或 (parameters) ->{ statements; }前置条件 lambda表达式是一段执行某种功能的代码块&#xff0c;需要…

数据结构与算法——4时间复杂度分析2(常见的大O阶)

这篇文章是时间复杂度分析的第二篇。在前一篇文章中&#xff0c;我们从0推导出了为什么要用时间复杂度&#xff0c;时间复杂度如何分析以及时间复杂度的表示三部分内容。这篇文章&#xff0c;是对一些常用的时间复杂度进行一个总结&#xff0c;相当于是一个小结论 1.常见的大O…

ESFP型人格的特征,ESFP型人格的优势和劣势分析

ESFP型人格的特征ESFP&#xff08;表演者型人格&#xff09;是人群中的开心果。他们外向&#xff0c;友善&#xff0c;包容&#xff0c;有他们在的地方总是充满着活泼的氛围。ESFP对于新的朋友&#xff0c;新的环境适应良好&#xff0c;他们是完完全全的社交动物&#xff0c;对…

【数据库原理 | MySQL】一文打通 DDL语句

&#x1f935;‍♂️ 个人主页: 计算机魔术师 &#x1f468;‍&#x1f4bb; 作者简介&#xff1a;CSDN内容合伙人&#xff0c;全栈领域优质创作者。 书接上文介绍了数据库的前世今生&#xff0c;本文讲解SQL语句中的DDL语句 文章目录二、SQL2.1 SQL通用语法2.2 SQL的分类三、 …

I.MX6ULL_Linux_系统篇(19) kernel编译及Makefile分析

Linux 内核 Linux 由 Linux 基金会管理与发布&#xff0c; Linux 官网为 https://www.kernel.org&#xff0c;所以你想获取最新的Linux 版本就可以在这个网站上下载&#xff0c;网站界面如图所示&#xff1a; 从图中可以看出最新的稳定版 Linux 已经到了 6.2&#xff0c;NXP …

Python常用标准库-sys库一文详解

目录 前言 一、Sys库概述 二、Sys查看版本信息 1.sys.version获取Python版本信息 2.sys.api_version获取解释器中C的API版本 3.sys.getwindowsversion系统功能版本 4.sys.hexversion()获取Python解释器的版本值 5.sys.implementation获取当前正在运行的Python解释器的实现…

Redis源码---如何实现一个性能优异的Hash表

目录 前言 Redis 如何实现链式哈希&#xff1f; 什么是哈希冲突&#xff1f; 链式哈希如何设计与实现&#xff1f; Redis 如何实现 rehash&#xff1f; 什么时候触发 rehash&#xff1f; rehash 扩容扩多大&#xff1f; 渐进式 rehash 如何实现&#xff1f; 前言 Hash …

数据处理 |遍历所有文件夹及子目录文件夹方法总结与实例代码详解

深度学习中不可避免的数据预处理~1. glob.glob()方法 2. pathlib中的Path方法3. os.walk()方法1. glob.glob()方法 语法glob.glob(pathname)&#xff08;多指定文件类型&#xff0c;查找jpg,png,txt,json等&#xff09;缺点&#xff1a;查找文件较慢2. 路径操作库pathlib中的Pa…

【计算机三级网络技术】 第四篇 路由设计技术基础

文章目录一、分组转发二、路由选择1.理想的路由算法的基本特征2.路由算法的度量标准3.路由算法分类&#xff1a;4.IP路由选择与路由汇聚(重点)三、自治系统与Internet的路由选择协议1.自治系统2.路由选择协议的分类四、内部网关协议1.RIP的基本概念2.RIP的原理3.RIP的运行过程五…

Android Lmkd 低内存终止守护程序

一、低内存终止守护程序 Android 低内存终止守护程序 (lmkd) 进程可监控运行中的 Android 系统的内存状态&#xff0c;并通过终止最不必要的进程来应对内存压力大的问题&#xff0c;使系统以可接受的性能水平运行。 所有应用进程都是从zygote孵化出来的&#xff0c;记录在AMS…

Android问题笔记 - 打开Android Studio先弹出项目选择框

专栏分享点击跳转>Unity3D特效百例点击跳转>案例项目实战源码点击跳转>游戏脚本-辅助自动化点击跳转>Android控件全解手册点击跳转>Scratch编程案例 &#x1f449;关于作者 众所周知&#xff0c;人生是一个漫长的流程&#xff0c;不断克服困难&#xff0c;不断…