Docker的常用镜像
Docker的常用镜像命令主要包括镜像的查看、搜索、拉取、删除、构建等操作,以下是综合多个来源的总结:
一、基础镜像操作
-
查看本地镜像
docker images• 显示所有本地镜像,包含仓库名(REPOSITORY)、标签(TAG)、镜像ID、创建时间及大小。
• 常用选项:
◦-a:显示所有镜像(包括中间层镜像)
◦-q:仅显示镜像ID -
搜索公共镜像
docker search <镜像名>• 从Docker Hub搜索镜像,支持筛选:
◦--filter "is-official=true":仅显示官方镜像
◦-s <星数>:按星数过滤(如-s 30显示星数≥30的镜像) -
拉取镜像
docker pull <镜像名>:<标签>• 默认从Docker Hub下载镜像,未指定标签时自动拉取
latest版本。
• 示例:docker pull ubuntu:20.04 -
删除镜像
docker rmi <镜像名/ID>• 删除单个镜像,
-f强制删除(如正在被容器使用)。
• 批量删除:docker rmi -f $(docker images -aq) # 删除所有镜像
二、镜像构建与推送
-
构建自定义镜像
docker build -t <镜像名>:<标签> <上下文路径>• 通过Dockerfile构建镜像,
-t指定名称和标签,-f指定非默认Dockerfile路径。 -
推送镜像到仓库
docker push <镜像名>:<标签>• 需先登录镜像仓库(
docker login <仓库地址>)。
三、镜像维护与清理
-
清理未使用的镜像
docker image prune• 删除未被容器引用的镜像,
-a删除所有未使用的镜像。 -
查看镜像元数据
docker inspect <镜像名/ID>• 显示镜像的详细配置信息,包括层结构、环境变量等。
四、其他实用命令
-
登录镜像仓库
docker login <仓库地址>• 访问私有仓库或第三方仓库(如阿里云、腾讯云)时需先登录。
-
镜像标签管理
docker tag <源镜像名>:<标签> <新镜像名>:<新标签>◦ 为镜像创建新标签,常用于版本管理或推送至不同仓库。
示例场景
• 拉取并运行Nginx:
docker pull nginx:latest
docker run -d -p 8080:80 nginx
• 构建并推送自定义镜像:
docker build -t myapp:1.0 .
docker tag myapp:1.0 myregistry/myapp:1.0
docker push myregistry/myapp:1.0
好的,我现在需要回答用户的问题:“docker常用容器命令”。首先,我得看看用户提供的搜索结果中有哪些相关的信息。用户给了8个搜索结果,我需要逐一查看,找出与容器命令相关的内容。
首先看网页1,里面提到了很多容器管理的命令,比如docker ps查看运行中的容器,docker run启动容器,还有进入容器、查看日志、删除容器等命令,这些都是常用的。特别是网页1还提到了数据卷和网络管理的命令,不过用户的问题主要是容器命令,可能需要重点提取这部分。
接下来是网页2,同样有查看容器状态、启动停止容器、进入容器、删除容器等内容。这里还提到了docker container prune删除所有已停止的容器,这个可能也是常用命令之一。另外还有容器日志管理的一些选项,比如-f实时跟踪日志,这些应该包含进去。
网页3的内容看起来比较基础,包括docker run的参数,比如映射端口、挂载数据卷,还有docker ps、start/stop/restart等命令。这里还提到了Dockerfile和docker-compose,不过用户问题可能不需要这些,但需要注意是否有相关命令需要提及。
网页4分成了常规和高级用法,容器管理部分有启动、查看、停止删除、进入容器等,还提到了强制删除容器和进入容器执行命令的高级用法。这些可能需要作为补充。
网页5列出了很多具体的命令例子,比如docker ps -a查看所有容器,docker exec进入容器,docker rm删除容器等。这里还提到了保存和加载镜像的命令,但用户问题主要关注容器命令,所以镜像管理可能不需要,但容器日志、提交容器变化为镜像这些可能需要包含。
网页6详细介绍了容器操作命令,包括创建、列出、启动、停止、进入、删除容器,以及网络管理。其中端口映射和后台运行的选项在docker run中很重要,需要强调。
网页7主要是基础命令,比如启动Docker服务,镜像管理,可能和容器命令关联不大,但可能有docker run的部分。
网页8虽然主要讲环境搭建,但其中涉及运行容器和挂载目录的命令,比如docker run -v,这可能也是常用命令的一部分。
现在需要整合这些信息,把常用的容器命令分类整理。可能分为启动容器、查看容器、启停重启、进入容器、删除容器、查看日志、数据卷挂载、网络连接等方面。每个部分从各个网页中提取对应的命令和参数,并引用对应的网页编号。
需要注意避免重复,比如多个网页都提到的docker ps、docker run等命令,需要合并说明,并引用所有相关的网页。例如docker run的参数在网页1、3、4、6中都有提到,需要综合这些信息。
另外,高级用法如强制删除、查看容器详情等,可以单独作为小提示或高级命令部分。用户可能需要常用命令,但适当的高级选项也能帮助用户更有效地使用。
最后,确保每个命令都有正确的语法和示例,并正确引用来源网页。例如docker exec -it来自网页1、2、4、5,需要引用这些网页的编号。
可能的结构:
- 容器生命周期管理(启动、停止、重启)
- 查看容器信息(ps, inspect, logs)
- 进入容器与执行命令
- 删除容器
- 数据卷挂载
- 网络配置
每个部分下详细列出命令和参数,并标注引用来源。
以下是 Docker 常用容器命令的总结,涵盖容器的生命周期管理、信息查看、交互操作等核心场景:
一、容器生命周期管理
-
启动容器
• 基本启动:docker run [选项] 镜像名
示例:docker run -d --name my_nginx nginx(后台运行并命名容器)
• 常用选项:
◦-d:后台运行(守护模式)
◦-p 宿主机端口:容器端口:端口映射(如-p 8080:80)
◦-v 宿主机路径:容器路径:数据卷挂载(如-v /data:/app/data)
◦-e 环境变量:设置容器内环境变量(如-e MYSQL_ROOT_PASSWORD=123456) -
启停与重启
• 启动已停止的容器:docker start 容器名/ID
• 停止容器:docker stop 容器名/ID(优雅停止)
• 强制停止:docker kill 容器名/ID
• 重启容器:docker restart 容器名/ID
二、容器信息查看
-
查看容器列表
• 运行中的容器:docker ps
• 所有容器(含已停止的):docker ps -a -
查看容器详情
• 详细信息:docker inspect 容器名/ID(包含网络、卷等配置)
• 实时资源占用:docker stats 容器名/ID(CPU/内存监控) -
查看日志
• 基础日志:docker logs 容器名/ID
• 实时跟踪日志:docker logs -f 容器名/ID
• 显示最后 N 行:docker logs --tail 20 容器名/ID
三、容器交互与维护
-
进入容器终端
• 交互式终端:docker exec -it 容器名/ID /bin/bash(常用/bin/bash或/bin/sh)
• 执行单条命令:docker exec 容器名/ID ls /app(不进入终端直接执行) -
删除容器
• 删除已停止的容器:docker rm 容器名/ID
• 强制删除运行中的容器:docker rm -f 容器名/ID
• 清理所有已停止的容器:docker container prune
四、高级操作
• 数据卷挂载:
使用 -v 参数持久化数据,如 docker run -v /host/data:/container/data
• 网络配置:
• 查看容器网络:docker network inspect 网络名
• 连接自定义网络:docker network connect 网络名 容器名
• 导出与提交:
• 导出容器文件系统:docker export 容器名 > backup.tar
• 保存容器为镜像:docker commit 容器名 新镜像名
常用命令速查表
| 功能 | 命令示例 |
|---|---|
| 后台运行容器 | docker run -d --name web nginx |
| 映射端口 | docker run -p 8080:80 nginx |
| 查看实时日志 | docker logs -f --tail 20 web |
| 进入容器终端 | docker exec -it web /bin/bash |
| 批量删除停止的容器 | docker container prune |
更多细节可参考 Docker 官方文档或相关技术博客。
相关文章:
Docker的常用镜像
Docker的常用镜像命令主要包括镜像的查看、搜索、拉取、删除、构建等操作,以下是综合多个来源的总结: 一、基础镜像操作 查看本地镜像 docker images• 显示所有本地镜像,包含仓库名(REPOSITORY)、标签(TAG…...
告别GitHub连不上!一分钟快速访问方案
一、当GitHub抽风时,你是否也这样崩溃过? 😡 npm install卡在node-sass半小时不动😭 git clone到90%突然fatal: early EOF🤬 改了半天hosts文件,第二天又失效了... 根本原因:传统代理需要复杂…...
MapReduce 深度解析:原理与案例实战
在大数据时代,数据量的爆炸性增长对数据处理提出了前所未有的挑战。MapReduce 作为一种编程模型和并行处理框架,能够让我们在分布式环境下高效处理海量数据。本文将详细讲解 MapReduce 的基本原理、工作流程,并通过一个案例来展示如何应用这种…...
Android中的Fragment是什么以及它有哪些生命周期方法
Android中的Fragment介绍 Fragment,直译为“碎片”或“片段”,是Android中的一种组件,可以看作是Activity的模块化部分。它可以在一个Activity中承载一部分用户界面和逻辑,并能被多个Activity复用。通过Fragment,开发…...
Leetcode 1477. 找两个和为目标值且不重叠的子数组 前缀和+DP
原题链接: Leetcode 1477. 找两个和为目标值且不重叠的子数组 class Solution { public:int minSumOfLengths(vector<int>& arr, int target) {int narr.size();int sum0;int maxnINT_MAX;vector<int> dp(n,maxn);//dp[i]表示以索引i之前的满足要求…...
Ubuntu 22.04安装NVIDIA A30显卡驱动
一、安装前准备 1.禁用Nouveau驱动 Ubuntu默认使用开源Nouveau驱动,需要手动禁用: vim /etc/modprobe.d/blacklist-nouveau.conf # 添加以下内容: blacklist nouveau options nouveau modeset0 # 更新内核并重启: update-initr…...
R语言绘图:韦恩图
韦恩分析 韦恩分析(Venn Analysis)常用于可视化不同数据集之间的交集和并集。维恩图(Venn diagram),也叫文氏图、温氏图、韦恩图、范氏图,用于显示元素集合重叠区域的关系型图表,通过图形与图形…...
Stable Diffusion Prompt编写规范详解
Stable Diffusion Prompt编写规范详解 一、语法结构规范 (一)基础模板框架 [质量强化] [主体特征] [环境氛围] [风格控制] [镜头参数]质量强化:best quality, ultra detailed, 8k resolution主体特征:(1girl:1.3), long …...
大模型推理框架Triton使用教程:从青铜到王者的修炼
1 相关预备知识 模型:包含了大量参数的一个网络(参数结构),体积10MB-10GB不等模型格式:相同的模型可以有不同的存储格式(可类比音视频文件),目前主流有torch、tf、onnx和trt&#x…...
C#+Halcon 检测稳定性提升的方式
前言 众所周知,C#是一个带垃圾回收机制的语言,开发过程中不需要考虑垃圾回收,你就可劲造吧。但我们在设计图像处理软件时,应时刻对图像等大内存资源进行管控,做到自行管控,及时释放,不应将其交…...
智谱AI-FunctionCall
智谱AI-FunctionCall 编写FuncationCall大模型的函数调用,先直观的感受一下的感受下FunctionCall的魅力 文章目录 智谱AI-FunctionCall[toc]1-参考网址2-思路整理3-代码拆件1-[非核心]两个业务函数2-[非核心]业务函数的JsonSchema定义3-[核心]FunctionCall的调用1-打…...
android亮灭屏流程分析
前言 亮灭涉及的东西非常多,因此单独写一个文档,进行详细说明,亮灭屏包括的东西不只是亮灭屏,还包括亮度调节、屏幕状态变化等东西。本文仅作学习使用,不涉及商业,侵权请联系删除。 framework层的学习链接…...
Docker Desktop常见问题记录
1.docker pull报错,无法连接https://registry-1.docker.io/v2/ 报错信息如下: Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection(Client.Timeout exceeded …...
vscode+vue前端开发环境配置
目录 一、安装Vue二、使用vue新建项目 一、安装Vue 在node.js安装好之后, npm config set registry https://registry.npmmirror.com# 安装vue相关工具,webpack用来项目构建、打包、资源整合等。 npm install webpack -g# 安装vue-cli脚手架 npm insta…...
Qt5 C++ QMap使用总结
文章目录 功能解释代码使用案例代码解释注意事项代码例子参考 功能解释 QList<T> QMap::values() const Returns a list containing all the values in the map, in ascending order of their keys. If a key is associated with multiple values, all of its values wi…...
《解锁HarmonyOS NEXT高阶玩法:艺术图像识别功能开发全攻略》
在当今数字化时代,AI技术不断拓展其应用边界,为各行业带来前所未有的变革。在艺术领域,AI图像识别技术能够帮助艺术从业者、爱好者快速识别艺术品风格、作者,甚至挖掘艺术品背后的历史文化信息。本文将结合HarmonyOS NEXT API 12及…...
post get 给后端传参数
post 方式一 : data: params 作为请求体(Request Body)传递: 你已经展示了这种方式,通过data字段直接传递一个对象或数组。这种方式通常用于传递复杂的数据结构。dowmfrom: function (params) { return request({ u…...
Masscan下载Linux安装
masscan 是一款高速的端口扫描工具,能够在极短的时间内扫描大量IP地址和端口。以下是关于如何在Linux系统上下载并安装 masscan 的详细步骤。 ### 通过包管理器安装 对于一些Linux发行版,你可以直接使用系统的包管理器来安装 masscan。例如,…...
Hive-08之数据仓库之建模、分析
一、目标 掌握数据仓库基本概念熟悉数据仓库的模型建立 二、知识要点 1. 数据仓库基本介绍 英文名称为Data Warehouse,可简写为DW或DWH。数据仓库的目的是构建面向分析的集成化数据环境,为企业提供决策支持(Decision Support)…...
仿12306项目(4)
基本预定车票功能的开发 对于乘客购票来说,需要有每一个车次的余票信息,展示给乘客,供乘客选择,因此首个功能是余票的初始化,之后是余票查询,这两个都是控台端。对于会员端的购票,需要有余票查询…...
MySQL零基础教程16—表连接进阶
复习表别名 之前已经学习过,查询的时候可以使用as来对检索的列进行重命名,这样可以让sql更加简介,增强易读性(as可以省略) 此外,使用表别名还可以支持在一条select语句中,一个表是被多次使用 …...
【JavaSE-3】运算符
1、什么是运算符 就是对常量或者变量进行操作的符号,如:,-,*,/ 表达式: 用运算符把常量或者变量连接起来的,符合java语法的式子就是表达式。 2、 算术运算符 2.1、基本四则运算符 - * / % 都…...
直接法估计相机位姿
引入 在前面的文章:运动跟踪——Lucas-Kanade光流中,我们了解到特征点法存在一些缺陷,并且用光流法追踪像素点的运动来替代特征点法进行特征点匹配的过程来解决这些缺陷。而这篇文章要介绍的直接法则是通过计算特征点在下一时刻图像中的位置…...
VS2022C#windows窗体应用程序调用DeepSeek API
目录 一、创建DeepSeek API Key 二、创建窗体应用程序 三、设计窗体 1、控件拖放布局 2、主窗体【Form1】设计 3、多行文本框【tbContent】 4、提交按钮【btnSubmit】 5、单行文字框 四、撰写程序 五、完整代码 六、运行效果 七、其它 一、创建DeepSeek API Ke…...
kettle插件-高性能插入更新插件Upsert
场景:假如T日需要将a表中T-1日的数据同步到b表。由于某种业务需求a表中已经同步到b表中的数据发生了变化需要重新同步,这个时候就会用到插入更新插件,也就是 说a表中数据重新同步b表,若b表中存在此数据(根据唯一id&am…...
python里调用外部控制台应用程序的方法~
有时候我们需要在python里调用外部控制台应用程序,方法如下: step.1 引用suprocess import subprocess # call an external program in python step.2 比如调用一个叫Audio_status.exe的控制台程序 result subprocess.run(["Au…...
工厂方法模式的C++实现示例
核心思想 工厂方法模式是一种创建型设计模式,它定义了一个用于创建对象的接口,但让子类决定实例化哪一个类。工厂方法模式将对象的实例化过程推迟到子类,从而使得子类可以根据需要决定创建哪种对象。 **Product:**定义产品的接口…...
本地部署Qwen2.5-VL-7B-Instruct模型
本地部署Qwen2.5-VL-7B-Instruct模型 本地部署Permalink **创建环境** conda create -n qwenvl python3.11 -y# 报错: Solving environment: failedPackagesNotFoundError: The following packages are not available from current channels:# 处理: c…...
【C++学习篇】智能指针
目录 1. 智能指针的使用场景分析 2. RAII和智能指针的设计思路 3. C标准库智能指针的使用 4.shared_ptr和weak_ptr 4.1shared_ptr的循环引用问题 4.2 weak_ptr 1. 智能指针的使用场景分析 下⾯程序中我们可以看到,new了以后,我们也delete了,…...
如何将JAR交由Systemctl管理?
AI越来越火了,我们想要不被淘汰就得主动拥抱。推荐一个人工智能学习网站,通俗易懂,风趣幽默,最重要的屌图甚多,忍不住分享一下给大家。点击跳转到网站 废话不多说,进入正题。下面开始说如何使用 systemctl…...
