docker使用命令笔记
docker使用命令笔记
- 1. 安装docker
- 2. 拉取镜像
- 3. 镜像与容器
- 4. 基于镜像创建容器
- 4. 操作创建好的容器
- 5. docker文件传输
- 6. ubuntu的docker的一些基本环境搭建
记录docker的一些使用命令
1. 安装docker
遵循官方安装说明即可,windows需要下载docker desktop后在docker终端内执行命令,而ubuntu则使用终端遵循说明安装,本文主要针对具体的使用。
2. 拉取镜像
按照官方提供的名字拉取对应镜像,例如ubuntu镜像:
docker pull ubuntu:18.04
或是nvidia提供的cuda官方镜像:
docker pull nvidia/cuda:12.1.0-cudnn8-devel-ubuntu20.04
3. 镜像与容器
可以简单理解为,镜像类似于操作系统的安装盘,它是静态的,无法被改变的。而容器类似于一台具体的电脑(当然它是虚拟的),它安装好了操作系统,能够被启动,运行,修改和关闭。
你可以基于镜像去创建多个容器,也可以把一个容器关机后保存为一个镜像。当你试图把docker虚拟机保存为单个磁盘文件时,必须基于镜像来导出一个文件,也只能从文件导入镜像,再基于镜像去创建一个容器实例。
如果你想要运行什么程序,执行什么功能,那么必须在一个运行的容器中执行。
镜像包含一个名字和一个版本号,由分号隔开,一个名字的镜像系列中可以有很多个不同版本号的版本构成继承关系。
查看正在运行的容器
docker ps
查看所有的容器
docker ps -a
查看所有的镜像
docker images
删除容器(容器必须已经stop)
docker rm 【容器名】
删除镜像(不能存在依赖于该镜像的容器)
docker rmi 【镜像名】
4. 基于镜像创建容器
基于镜像image1:1.1
创建并运行一个容器container1
,进入它的bash界面:
docker run --name container1 -it image1:1.1 bash
以下为一些可选的参数:
构造nivdia的cuda运行环境
docker run --name container1 --runtime=nvidia --gpus all -it image1:1.1 bash
将外部实际主机的3000端口与docker内部的8080端口绑定,访问其中一个端口等价于访问另一个端口:
docker run --name container1 -p 3000:8080 -it image1:1.1 bash
将外部实际主机的/main_dir
与docker内部的/docker_dir
路径绑定,访问其中一个文件夹路径等价于访问另一个路径,文件改动也会完全一致:
docker run --name container1 -v /main_dir:/docker_dir -it image1:1.1 bash
如果需要绑定多个端口和路径,增加多个相同参数即可。
注:共享端口与共享文件夹必须在第一次创建容器时设置完成,一旦容器创建完成后,该参数就不可再进行修改。修改的唯一方法是把当前容器保存为一个新的镜像,再基于该镜像,重新创建一个新的容器的同时配置相应的参数。
4. 操作创建好的容器
启动容器
docker start 【容器名】
关闭容器
docker stop 【容器名】
重启容器
docker restart 【容器名】
进入一个已经启动的容器的bash终端
docker exec -it 【容器名】 bash
容器转化为镜像
docker commit 容器id 新镜像名称:版本号
镜像转化为磁盘文件
docker save -o 压缩文件名称 镜像名称:版本号
从磁盘文件加载镜像
docker load -i xxx.tar
5. docker文件传输
一种方法是配置了绑定文件夹,这样你在主机把文件放入,docker就可以读取,反之亦然(但是要注意添加文件的访问权限)。
另一种方法是直接用命令拷贝文件,例如:
docker cp 本地磁盘路径 docker名:docker内文件路径
6. ubuntu的docker的一些基本环境搭建
下载基础镜像
docker pull ubuntu:18.04
安装基本环境
apt-get update
apt-get install sudo dialog apt-utils vim less screen curl screen systemctl git language-pack-zh-hans build-essential cmake
安装中文编码
locale-gen zh_CN.UTF-8
echo "export LC_ALL=zh_CN.UTF-8">> ~/.bashrc
source ~/.bashrc
配置screen默认启动bash
vi ~/.screenrc
在配置文件中添加:
defshell -bash
保存退出即可。
相关文章:
docker使用命令笔记
docker使用命令笔记 1. 安装docker2. 拉取镜像3. 镜像与容器4. 基于镜像创建容器4. 操作创建好的容器5. docker文件传输6. ubuntu的docker的一些基本环境搭建 记录docker的一些使用命令 1. 安装docker 遵循官方安装说明即可,windows需要下载docker desktop后在doc…...
关于服务器只能访问localhost:8111地址,局域网不能访问的问题
一、问题来源: 服务器是使用的阿里云的服务器,服务器端的8111端口没有设置任何别的限制,但是在阿里云服务器端并没有设置相应的tcp连接8111端口。 二、解决办法: 1、使用阿里云初始化好的端口;2、配置新的阿里云端口…...
触发器及报警
一、触发器介绍 Trigger 作用:报警 触发某一个监控项状态的变化 基于监控项创建 一个监控项可以有多个触发器 1、创建触发器语法 {<server>:<key>.<function>(<parameter>)}<operator><constant> {被监控主机:键值.函数…...
如何用 Postman 发送 GET 请求?详解
Postman 是一款广泛用于 API 开发和测试的工具,通过它,我们可以轻松地发送 GET 请求。首先,需要新建接口并设置为 GET 请求,然后填写相关的 URL 地址和参数,最后点击“Send”按钮即可发起请求。 Postman 如何发送 get…...
主流软件工程模型全景剖析
一、瀑布模型 阶段划分 需求分析:与用户深入沟通,全面了解软件的功能、性能、可靠性等要求,形成详细的需求规格说明书。设计阶段:包括总体设计和详细设计。总体设计确定软件的体系结构,如模块划分、模块之间的接口等&…...
NVMe协议
一、NVMe 的诞生背景 传统协议瓶颈: 早期的SATA接口SSD使用 AHCI协议,设计初衷是适配机械硬盘(HDD),其单队列、高延迟的特性无法发挥SSD的高速性能。PCIe接口的潜力: NVMe专为 PCIe接口的SSD 设…...
开关磁阻电机类型及其控制技术
开关磁阻电机( Switched Reluctance Motors,SRM) 具有结构简单、坚固、成本低、 工作可靠、控制灵活、运行效率高,适于高速与恶劣环境运行等优点, 由其构成的传动系统( Switched Reluctance Drives, SRD) 具有交、直流传动系统所没有的优点, 为此,世界各…...
CMake 构建的Qt 项目中的构建套件的配置
在Qt 框架中,使用CMake 构建工具时,需要自己给构建套件添加相关配置,否则已经添加的构建套件将不可选择使用。 创建CMake 项目后,如果打开项目配置时,出现如下构建套件不可选的情况, 需要先确认是否安装…...
程序化广告行业(34/89):移动端特色广告与创意策略探秘
程序化广告行业(34/89):移动端特色广告与创意策略探秘 大家好!在程序化广告的学习之旅中,每一次探索都像是发现了新大陆。今天,我依旧怀揣着和大家共同进步的想法,来和大家深入聊聊程序化广告行…...
IT行业项目管理风险规避策略
在IT项目中,前端、后端、测试等不同角色的协同工作会带来各种项目管理风险。以下是针对这些风险的规避策略: 一、跨职能团队协作风险 1. 沟通不畅风险 解决方案: 建立每日站会机制(15分钟以内)使用协作工具(如Jira、飞书、钉钉)制定明确的接口文档标准(Swagger/YAPI)…...
24届非科班硕士入职做上位机开发,后续往工业软件还是音视频、后端发展?
今天给大家分享的是一位粉丝的提问,24届非科班硕士入职做上位机开发,后续往工业软件还是音视频、后端发展? 接下来把粉丝的具体提问和我的回复分享给大家,希望也能给一些类似情况的小伙伴一些启发和帮助。 同学提问: …...
Hadoop三 分布式sql计算hive入门
一 分布式SQL计算 对数据进行统计分析,SQL是目前最为方便的编程工具。 大数据体系中充斥着非常多的统计分析场景,所以,使用SQL去处理数据,在大数据中也是有极大的需求的。MapReduce支持程序开发(Java、Python等&#…...
【C++】C++中的动态内存分配(new和delete)
C中的动态内存分配(分配堆空间) 1. C语言与C动态内存分配2. 使用3.malloc和new有什么区别示例代码: 1. C语言与C动态内存分配 C语言 malloc calloc realloc free 函数 C new关键字分配堆空间 delete关键字释放堆空间 2. 使用 第一种&#…...
Go 代理爬虫
现在注册,还送15美金注册奖励金 --- 亮数据-网络IP代理及全网数据一站式服务商 使用代理服务器,通过 Colly、Goquery、Selenium 进行网络爬虫的基础示例程序 本仓库包含两个分支: basic 分支包含供 Go Proxy Servers 这篇文章改动的基础代码…...
推陈换新系列————java8新特性(编程语言的文艺复兴)
文章目录 前言一、新特性秘籍二、Lambda表达式2.1 语法2.2 函数式接口2.3 内置函数式接口2.4 方法引用和构造器引用 三、Stream API3.1 基本概念3.2 实战3.3 优势 四、新的日期时间API4.1 核心概念与设计原则4.2 核心类详解4.2.1 LocalDate(本地日期)4.2…...
蓝桥杯算法实战分享
蓝桥杯算法实战分享 蓝桥杯是国内知名的程序设计竞赛,涵盖算法、数据结构、编程技巧等多个领域。本文将从实战角度分享蓝桥杯算法竞赛的常见题型、解题思路和优化技巧,帮助参赛者更好地备战。 1. 常见题型与解题思路 蓝桥杯的题型主要包括以下几类&…...
树莓集团园区运营案例:成都国际数字影像产业园的运营逻辑
成都国际数字影像产业园的成功运营,是树莓集团在产业园运营领域的典型案例。其运营逻辑可以归纳为以下几点: 一、政企合作,优势互补 园区由树莓集团与金牛区政府合作共建,这种模式充分利用双方的优势。政府提供政策支持、土地资…...
【动态规划】最长公共子序列问题 C++
问题描述 子序列:序列Z是原序列X的子序列,当且仅当Z的元素在X中按严格递增的下标顺序出现(不要求连续)。例如X{A,B,C,B,D,A,B}中,Z{B,C,D,B}是子序列,对应X的下标2→3→5→7。公共子序列:若序列…...
K8s故障排查手册:从Pod崩溃到网络不通
本文基于数百个真实生产环境案例,系统化梳理Kubernetes集群的故障排查方法论。涵盖Pod生命周期异常、服务发现失效、存储卷挂载失败、网络策略冲突等核心故障场景,结合Prometheus监控指标、eBPF深度追踪、CNI插件分析等技术手段,为企业运维团…...
HTML DOM 基础:用「家族树」理解网页操控术
HTML DOM 基础:用「家族树」理解网页操控术 当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model),也就是DOM。 DOM 是JavaScript 操作网页的接口,它的作用是将网页转为一个JavaScript 对象,从而可以用脚本进行各种操作(比如对元素增删内容)。 浏览…...
扩展卡尔曼滤波
1.非线性系统的线性化 标准卡尔曼滤波 适用于线性化系统,扩展卡尔曼滤波 则扩展到了非线性系统,核心原理就是将非线性系统线性化,主要用的的知识点是 泰勒展开(我另外一篇文章的链接),如下是泰勒展开的公式…...
【AI News | 20250326】每日AI进展
AI News 1、Gemini 2.5:谷歌DeepMind最智能AI模型亮相 谷歌DeepMind推出Gemini 2.5,其最智能AI模型。首款实验版本Gemini 2.5 Pro在多项基准测试中领先,登顶LMArena榜首,展现卓越的推理与编码能力。该模型为“思考模型”…...
智能汽车图像及视频处理方案,支持视频星轨拍摄能力
美摄科技作为智能汽车图像及视频处理领域的先行者,正以革新性的技术引领着行业的未来发展。美摄科技智能汽车图像及视频处理方案,一个集高效性、智能化、画质增强于一体的创新解决方案,旨在重塑智能汽车图像画质的新标准,并支持前…...
AI-Sphere-Butler之Ubuntu服务器如何部署Nginx代理,并将HTTP升级成HTTPS,用于移动设备访问
环境: AI-Sphere-Butler WSL2 Ubuntu22.04 Nginx 问题描述: AI-Sphere-Butler之Ubuntu服务器如何部署Nginx代理,并将HTTP升级成HTTPS,用于移动设备访问 解决方案: 一、生成加密证书 1.配置OpenSSL生成本地不加…...
SpringBoot项目图片上传成功,访问404
1. 配置文件,静态资源访问路径,记得加上file: 2.上传文件路径 以上配置是正确的,这样才可以正确映射 之前我再配置文件写的是,这是错的, 因为:classpath写法和绝对路径无法匹配 .addResourceLocations("classpat…...
鸿蒙学习笔记(2)-国际化配置、ArkTS简述
一、国际化配置 根据操作系统语言实现手动或者自动切换中英文,提供了多套语言包。编写过程中注意不要将文字写死,将文本放在指定的语言包文件夹中来保存,鸿蒙开发中默认实现中英文的国际化配置。若要实现中英文转化,需要在三个地…...
ES 字段的映射定义了字段的类型及其行为
在 Elasticsearch 中,字段的映射定义了字段的类型及其行为。你提供的 content_answer 字段映射如下: Json 深色版本 "content_answer": { "type": "text", "fields": { "keyword": { …...
游戏引擎学习第183天
回顾和今天的计划 我对接下来的进展感到非常兴奋。虽然我们可能会遇到一些问题,但昨天我们差不多完成了将所有内容迁移到新的日志系统的工作,我们正在把一些内容整合进来,甚至是之前通过不同方式记录时间戳的旧平台层部分,现在也…...
未来二十年的量子计算
在未来二十年间,量子计算领域将迎来翻天覆地的变革,从实验室走向更广阔的应用舞台,重塑众多行业的格局。 在硬件层面,量子芯片的研发将持续精进。超导量子比特技术会不断突破,进一步提升比特数量与质量。当前ÿ…...
SpringBoot通过Map实现天然的策略模式
😊 作者: 一恍过去 💖 主页: https://blog.csdn.net/zhuocailing3390 🎊 社区: Java技术栈交流 🎉 主题: SpringBoot通过Map实现天然的策略模式 ⏱️ 创作时间: 202…...
MTKAndroid12 解决SystemUI下拉框中,长按WIFI图标会导致崩溃问题
解决SystemUI下拉框中,长按WIFI图标会导致崩溃问题 文章目录 场景参考资料修改文件解决方案日志源码分析 总结 场景 在部分产品中偶发性发现, SystemUI下拉框下拉后长按WIFI图标会导致崩溃问题,有时候是截屏、点击Home 按键后,长…...
Springboot 学习 之 Shardingsphere 按照日期水平分表(二)
文章目录 业务场景依赖配置特别注意优劣参考资料 业务场景 在 报表 等 大数据量 且需要 按照日期显示 的业务场景下,按照 日期水平分表 是一个不错的选择 依赖 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-b…...
WordPress超级菜单插件UberMenu v3.78汉化版
一、插件介绍 UberMenu 是一款功能强大的 WordPress 超级菜单插件,能够帮助站长创建响应式、可自定义的多级菜单。该插件支持动态内容加载、图标、图片、搜索框等丰富功能,并且兼容大多数 WordPress 主题。 UberMenu v3.78 经过完整汉化,适用于中文站点用户,让操作更加直观…...
观成科技:海莲花利用MST投递远控木马
概述 “海莲花”,又名“OceanLotus”,该APT组织是长期针对中国境内,且攻击活动十分活跃的组织。近期发现该组织使用了MSI文件滥用的新手法,将远程控制木马植入MST文件来修改MSI文件安装时的执行流程,在安装期间运行恶…...
Node.js系列(5)--数据库操作指南
Node.js数据库操作指南 💾 引言 数据库操作是Node.js应用开发中的关键环节。本文将深入探讨Node.js数据库操作的实现方案,包括连接管理、查询优化、事务处理等方面,帮助开发者构建高效可靠的数据访问层。 数据库操作概述 Node.js数据库操…...
最大异或对 The XOR Largest Pair
题目来自洛谷网站: 思路: 两个循环时间复杂度太高了,会超时。 我们可以先将读入的数字,插入到字典树中,从高位到低位。对每个数查询的时候,题目要求是最大的异或对,所以我们选择相反的路径&am…...
简单介绍My—Batis
1.什么是My—Batis? My—Batis是一个持久层框架,提供了sql映射功能,能方便的将数据库表和java对象进行映射,通过My—Batis可以将项目中的数据存储在数据库中,以便我们进行调用。值得注意的是My—Batis和spring不是一回…...
案例分享|树莓派媒体播放器,重构商场广告的“黄金三秒”
研究显示,与传统户外广告相比,数字户外广告在消费者心中的记忆率提高了17%,而动态户外广告更是能提升16%的销售业绩,整体广告效率提升了17%。这一显著优势,使得越来越多资源和技术流入数字广告行业。 户外裸眼3D广告 无…...
硬件基础(5):(3)二极管的应用
文章目录 [toc]1. **整流电路****功能**:**工作原理**:**应用实例**:电路组成:整流过程:电路的应用: 2. **稳压电路****功能**:**工作原理**:**应用实例**:电路组成及功能…...
数据结构之栈的2种实现方式(顺序栈+链栈,附带C语言完整实现源码)
对于逻辑关系为“一对一”的数据,除了用顺序表和链表存储外,还可以用栈结构存储。 栈是一种“特殊”的线性存储结构,它的特殊之处体现在以下两个地方: 1、元素进栈和出栈的操作只能从一端完成,另一端是封闭的…...
vscode终端不识别npm 无法解析npm
vscode 用以管理员打开识别npm vscode 用普通用户打开不识别npm 刚换了一台新电脑,寻思安装各种环境,一顿操作猛如虎,当最后一个打开vscode后,运行项目发现,新建终端>npm run dev 无法识别。 在cmd 中 打node -…...
java泛型的协变、逆变和不变
引言 我们在看开源框架经常会看到泛型来定义数据类型。 有时候, <? extends T> 和 <? super T> 这样带通配符的泛型参数。 这种通配符的泛型是什么意思怎么用???? 概念 型变: 用来描述类…...
effective Java 学习笔记(第二弹)
effective Java 学习笔记(第一弹) 整理自《effective Java 中文第3版》 本篇笔记整理第3,4章的内容。 重写equals方法需要注意的地方 自反性:对于任何非空引用 x,x.equals(x) 必须返回 true。对称性:对于…...
Spring BeanFactoryPostProcessor 和 BeanPostProcessor有什么用?
BeanFactoryPostProcessor 和 BeanPostProcessor 都是 Spring 框架中非常重要的扩展点,我们在开发中可以利用 Spring 容器实例化 Bean、配置 Bean 以及初始化 Bean 的过程中进行自定义的干预。但它们的作用时机和作用对象不同。 1. BeanFactoryPostProcessor: 作用…...
Centos7 Gitlab17部署
确保你的安装源正常 1.安装依赖项 sudo yum install -y curl policycoreutils-python openssh-server openssh-clients postfix 2.安装Gitlab (1)添加仓库 curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash (2) 安装Gitl…...
一文解读DeepSeek在工业制造领域的应用
引言 在当今数字化浪潮席卷全球的背景下,各个行业都在积极寻求创新与变革,工业制造领域也不例外。然而,传统工业制造在生产效率、质量控制、成本管理等方面面临着诸多挑战。在这一关键时期,人工智能技术的兴起为工业制造带来了新的…...
基于动态 FOF(基金中的基金)策略的基金交易推荐系统的设计与实现思路
下面为你呈现一个基于动态 FOF(基金中的基金)策略的基金交易推荐系统的设计与实现思路,同时给出一个简单的 Python 示例代码。 系统设计 1. 需求分析 收集各类基金的历史数据,涵盖净值、收益率、风险指标等。依据动态 FOF 策略…...
第一次程序Hello Python
Python环境安装 安装地址 安装地址 https://www.python.org/ 1. 安装Python 下载完成后,双击安装包(如python-3.13.2.exe),按照提示进行安装。在安装过程中,确保勾选“Add Python to PATH”选项,以便在命…...
nvm 切换node 版本 但是没有带星号*
在 Windows 系统中配置 NVM_SYMLINK 环境变量的步骤如下: 1️⃣ 设置变量路径 变量名:NVM_SYMLINK 变量值:建议设置为 C:\Program Files\nodejs(需与后续步骤中 NVM 配置的符号链接路径一致) 2️⃣ 配置系统环境变量…...
Java定时任务的三重境界:从单机心跳到分布式协调
《Java定时任务的三重境界:从单机心跳到分布式协调》 本文将以生产级代码标准,揭秘Java定时任务从基础API到分布式调度的6种实现范式,深入剖析ScheduledThreadPoolExecutor与Quartz Scheduler的线程模型差异,并给出各方案的性能压…...