Docker常用命令操作指南(一)
Docker常用命令操作指南-1
- 一、Docker镜像相关命令
- 1.1 搜索镜像(docker search)
- 1.2 拉取镜像(docker pull)
- 1.3 查看本地镜像(docker images)
- 1.4 删除镜像(docker rmi)
- 二、Docker容器相关命令
- 2.1 运行容器(docker run)
- 2.2 查看容器(docker ps)
- 2.3 停止与启动容器(docker stop/docker start)
- 2.4 进入容器(docker exec/docker attach)
- 2.5 删除容器(docker rm)
- 三、Docker仓库相关命令
- 3.1 登录与登出仓库(docker login/docker logout)
- 3.2 推送镜像到仓库(docker push)
- 四、Docker其他实用命令
- 4.1 查看Docker系统信息(docker info)
- 4.2 查看容器日志(docker logs)
- 总结
在容器化技术飞速发展的今天,Docker已成为开发者和运维人员不可或缺的工具,而熟练掌握Docker的基础命令,是高效使用Docker进行应用开发、部署和管理的基石。本文我将围绕Docker镜像、容器、仓库等核心操作,并结合相关示例,带你深入了解Docker基础命令的使用方法与技巧。
一、Docker镜像相关命令
镜像作为Docker的核心概念之一,是创建容器的基础。常用的镜像操作命令如下:
1.1 搜索镜像(docker search)
当我们需要获取某个应用的镜像时,可以使用 docker search
命令在Docker Hub等镜像仓库中搜索镜像。命令格式如下:
docker search [OPTIONS] TERM
例如,搜索Nginx镜像:
docker search nginx
执行该命令后,会列出Nginx相关镜像的信息,包括镜像名称、描述、星级评分、官方与否等。其中常用选项 -s
可用于按星级评分筛选镜像,如 docker search -s 5 nginx
表示搜索评分5星及以上的Nginx镜像。
1.2 拉取镜像(docker pull)
找到合适的镜像后,使用 docker pull
命令将其下载到本地。命令格式为:
docker pull [OPTIONS] NAME[:TAG]
NAME
为镜像名称,TAG
是镜像的标签,用于标识镜像的版本,不指定 TAG
时默认拉取 latest
标签的镜像。例如,拉取最新版的Nginx镜像:
docker pull nginx
若要拉取特定版本,如Nginx 1.23.3版本:
docker pull nginx:1.23.3
1.3 查看本地镜像(docker images)
使用 docker images
命令可以查看本地已下载的镜像列表,命令格式:
docker images [OPTIONS] [REPOSITORY[:TAG]]
执行后会显示镜像的仓库名、标签、镜像ID、创建时间和大小等信息。例如,只查看Nginx相关镜像:
docker images nginx
常用选项 -q
可仅显示镜像ID,方便后续操作,如 docker images -q nginx
。
1.4 删除镜像(docker rmi)
当镜像不再需要时,可使用 docker rmi
命令删除。格式为:
docker rmi [OPTIONS] IMAGE [IMAGE...]
IMAGE
可以是镜像ID、镜像名:标签等。比如删除本地的Nginx镜像(通过镜像ID删除):
docker rmi <镜像ID>
若镜像被容器使用,直接删除会报错,可先停止并删除相关容器,或使用 -f
强制删除,如 docker rmi -f nginx
。
二、Docker容器相关命令
容器是镜像的运行实例,容器的常见操作命令如下:
2.1 运行容器(docker run)
docker run
是最常用的命令之一,用于创建并运行一个容器,格式如下:
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
其中 OPTIONS
有很多实用参数:
-d
:以后台守护进程模式运行容器;-p
:端口映射,格式为宿主机端口:容器端口
,如docker run -d -p 8080:80 nginx
将宿主机8080端口映射到容器80端口;-v
:数据卷挂载,实现宿主机与容器间的数据共享,如docker run -v /host/data:/container/data nginx
;--name
:为容器指定一个名称 ,方便后续管理,如docker run --name my-nginx nginx
。
例如,以守护进程模式运行一个Nginx容器,并映射端口:
docker run -d -p 80:80 --name my-nginx nginx
2.2 查看容器(docker ps)
使用 docker ps
命令查看正在运行的容器,格式:
docker ps [OPTIONS]
常用选项:
-a
:显示所有容器(包括已停止的);-l
:显示最近创建的容器;-q
:仅显示容器ID。
如查看所有容器:
docker ps -a
2.3 停止与启动容器(docker stop/docker start)
停止正在运行的容器使用 docker stop
命令,格式为 docker stop [OPTIONS] CONTAINER [CONTAINER...]
,例如停止名为 my-nginx
的容器:
docker stop my-nginx
启动已停止的容器用 docker start
,格式类似,如 docker start my-nginx
。此外,docker restart
命令可用于重启容器,相当于先停止再启动。
2.4 进入容器(docker exec/docker attach)
进入正在运行的容器有两种方式:
docker exec
:在容器中执行一个新的命令,并进入交互模式,推荐使用。格式为docker exec -it CONTAINER COMMAND
,如进入Nginx容器的Shell:
docker exec -it my-nginx bash
docker attach
:直接进入容器的标准输入、输出和错误输出流,当多个窗口同时attach时会产生干扰,使用较少。
2.5 删除容器(docker rm)
删除已停止的容器使用 docker rm
命令,格式为 docker rm [OPTIONS] CONTAINER [CONTAINER...]
,如删除 my-nginx
容器:
docker rm my-nginx
若要删除正在运行的容器,可使用 -f
强制删除 ,即 docker rm -f my-nginx
。
三、Docker仓库相关命令
Docker仓库用于存储镜像,与仓库交互的常用命令如下:
3.1 登录与登出仓库(docker login/docker logout)
登录Docker Hub等仓库使用 docker login
命令,格式:
docker login [OPTIONS] [SERVER]
执行后按提示输入用户名和密码即可登录。登出使用 docker logout
,如 docker logout
。
3.2 推送镜像到仓库(docker push)
将本地镜像推送到仓库使用 docker push
命令,格式为 docker push NAME[:TAG]
,但需要先确保镜像名称符合仓库的命名规范(通常包含仓库地址、用户名等信息)。例如,将本地镜像推送到Docker Hub:
docker push username/repository:tag
四、Docker其他实用命令
4.1 查看Docker系统信息(docker info)
docker info
命令用于查看Docker系统的详细信息,包括磁盘使用、镜像数量、容器数量、存储驱动等。执行 docker info
即可查看相关内容。
4.2 查看容器日志(docker logs)
通过 docker logs
命令查看容器的运行日志,格式为 docker logs [OPTIONS] CONTAINER
。常用选项 -f
可实时跟踪日志输出,如查看Nginx容器日志:
docker logs -f my-nginx
总结
本文我简单介绍了Docker在镜像、容器、仓库等方面的基础命令,涵盖了从镜像获取、容器创建运行到仓库交互等基础核心操作。以后我还将深入介绍 Docker 常用的其他命令,敬请期待吧~
若这篇内容帮到你,动动手指支持下!关注不迷路,干货持续输出!
ヾ(´∀ ˋ)ノヾ(´∀ ˋ)ノヾ(´∀ ˋ)ノヾ(´∀ ˋ)ノヾ(´∀ ˋ)ノ
相关文章:
Docker常用命令操作指南(一)
Docker常用命令操作指南-1 一、Docker镜像相关命令1.1 搜索镜像(docker search)1.2 拉取镜像(docker pull)1.3 查看本地镜像(docker images)1.4 删除镜像(docker rmi) 二、Docker容器…...
什么是 SQL 注入?如何防范?
什么是 SQL 注入?如何防范? 1. SQL 注入概述 1.1 基本定义 SQL 注入(SQL Injection)是一种通过将恶意SQL 语句插入到应用程序的输入参数中,从而欺骗服务器执行非预期SQL命令的攻击技术。攻击者可以利用此漏洞绕过认证、窃取数据甚至破坏数据库。 关键结论:SQL 注入是O…...

使用el-input数字校验,输入汉字之后校验取消不掉
先说说复现方式 本来input是只能输入数字的,然后你不小心输入了汉字,触发校验了,然后这时候,你发现校验取消不掉了 就这样了 咋办啊,你一看校验没错啊,各种number啥的也写了,发现没问题啊 <el-inputv…...

Docker容器启动失败的常见原因分析
我们在开发部署的时候,用 Docker 打包环境,理论上是“我装好了你就能跑”。但理想很丰满,现实往往一 docker run 下去就翻车了。 今天来盘点一下我实际工作中经常遇到的 Docker 容器启动失败的常见原因,顺便给点 debug 的小技巧&a…...
Java提取markdown中的表格
Java提取markdown中的表格 说明 这篇博文是一个舍近求远的操作,如果只需要要对markdown中的表格数据进行提取,完全可以通过正在表达式或者字符串切分来完成。但是鉴于学习的目的,这次采用了commonmark包中的工具来完成。具体实现过程如下 实…...

立志成为一名优秀测试开发工程师(第七天)——unittest框架的学习
目录 unittest框架的学习 一、测试类的编写 创建相关测试类cal.py、CountTest.py 二、常见断言方法 使用unittest单元测试框架编写测试用例CountTest.py 注意:执行的时候光标一定要放在括号后面,鼠标右键运行 三、对测试环境的初始化和清除模块…...
精益数据分析(85/126):营收阶段的核心指标与盈利模型优化——从数据到商业决策的落地
精益数据分析(85/126):营收阶段的核心指标与盈利模型优化——从数据到商业决策的落地 c。 一、营收健康度的核心指标:投资回报率模型 (一)季度再发性营收增长率(QRR) 该指标衡量…...

论坛系统(4)
用户详情 获取用户信息 实现逻辑 ⽤⼾提交请求,服务器根据是否传⼊Id参数决定返回哪个⽤⼾的详情 1. 不传⽤⼾Id,返回当前登录⽤⼾的详情(从session获取) 2. 传⼊⽤⼾Id,返回指定Id的⽤⼾详情(根据用户id去查) 俩种方式获得用户信息 参…...
本地Markdown开源知识库选型指南
本地Markdown开源知识库选型指南 以下是几款优秀的本地Markdown开源知识库解决方案,适合不同需求场景: 1. Obsidian (非完全开源但免费) 特点:基于Markdown的本地优先知识管理,丰富的插件生态优势:双向链接、图形视…...
【.net core】SkiaSharp 如何在Linux上实现
1. 安装依赖库 首先需要安装 SkiaSharp 运行时依赖: # Ubuntu/Debian sudo apt-get update sudo apt-get install -y libfontconfig1 libfreetype6 libx11-6 libx11-xcb1 libxcb1 \libxcomposite1 libxcursor1 libxdamage1 libxi6 libxtst6 \libnss3 libcups2 lib…...
后端项目中静态文案国际化语言包构建选型
这是一个很关键的问题。在做国际化(i18n)时,不同语言包格式如 .resx、.properties 和 .json 都可用,但各自有适用场景、特性与限制,你在选择时可以根据你的开发语言、生态和维护成本权衡。 ✅ 一张对比表:.…...
前端面经 React常见的生命周期
初始化阶段 constructor state的初始化,防抖节流的绑定getDerivedStateFromProps 静态函数 当作纯函数使用 传入props和state,合并成一个新的statecomponentWillMount 组件如果有getDrivedStatefromprops不会执行 针对一些接口的预请求时使用rendercomp…...

力扣面试150题--二叉树的层平均值
Day 54 题目描述 思路 初次做法(笨):使用两个队列,一个队列存放树的节点,一个队列存放对应节点的高度,使用x存放上一个节点,highb存放上一个节点的高度,sum存放当前层的节点值之和…...

【Doris入门】Doris初识:分布式分析型数据库的核心价值与架构解析
目录 1 Doris简介与核心价值 2 Doris架构深度解析 2.1 Frontend(FE)架构 2.2 Backend(BE)架构 3 Doris核心概念详解 3.1 数据分布模型 3.2 Tablet与Replica 3.3 数据模型 4 Doris关键技术解析 4.1 存储引擎 4.2 查询执…...
C#面试问题41-60
41. What is the Singleton design pattern? Singleton is a class that only allows creating a single instance of itselt. 单例设计模式是一个类,它只允许创建自己的单个实例。 构造函数防止他在单例类以外的地方被调用。 使用情景:need a sing…...

数据结构与算法学习笔记(Acwing 提高课)----动态规划·区间DP
数据结构与算法学习笔记----动态规划区间DP author: 明月清了个风 first publish time: 2025.5.26 ps⭐️区间DP的特征在于子结构一般是一个子区间上的问题,涉及到的问题也非常多,如环形区间,记录方案数,高精度,二维…...
【合集】Linux——31个普通信号
Linux普通信号总表(1-31) 编号信号名触发原因默认动作1SIGHUP终端连接断开(如SSH会话终止)或守护进程重载配置(如nginx -s reload)终止进程2SIGINT用户输入CtrlC中断前台进程终止进程…...

从0到1搭建AI绘画模型:Stable Diffusion微调全流程避坑指南
从0到1搭建AI绘画模型:Stable Diffusion微调全流程避坑指南 系统化学习人工智能网站(收藏):https://www.captainbed.cn/flu 文章目录 从0到1搭建AI绘画模型:Stable Diffusion微调全流程避坑指南摘要引言一、数据集构…...
ASP.NET Core 中JWT的基本使用
文章目录 前言一、JWT与RBAC二、JWT 的作用三、RBAC 的核心思想四、使用1、配置文件 (appsettings.json)2、JWT配置模型 (Entity/JwtSettings.cs)3、服务扩展类,JWT配置 (Extensions/ServiceExtensions.cs)4、用户仓库接口服务5、认证服务 (Interface/IAuthService.…...
未来技术展望
应用场景:海量数据并行处理 技术融合: # 概念代码:量子加速的数据清洗 from quantum_processor import PhotonicProcessordef quantum_data_cleaning(data):# 使用光量子处理器并行处理千万级数据processor = PhotonicProcessor(model="Xanadu Borealis")return …...

从一到无穷大 #46:探讨时序数据库Deduplicate与Compaction的设计权衡
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。 本作品 (李兆龙 博文, 由 李兆龙 创作),由 李兆龙 确认,转载请注明版权。 文章目录 引言Compaction AlgorithmsCompact Execution Flow Based On VeloxLocalMergeSource的…...

vue3 导出excel
需求:导出自带格式的excel表格 1.自定义二维数组格式 导出 全部代码: <el-button click"exportExcel">导出</el-button> const exportExcel () > {const data [[商品, 单价, 数量, 总价],[A, 100, 1.55, { t: n, f: B2*C2…...
带你手写React中的useReducer函数。(底层实现)
文章目录 前言一、为什么需要 Reducer?二、Reducer 的核心概念1. Reducer 函数2. useReducer 钩子 三,手写react中的useReducer 总结 前言 在 React 开发中,useReducer 是管理复杂状态逻辑的利器。它类似于 Redux 的简化版,允许我…...

day024-网络基础-TCP与UDP、DNS
文章目录 1. 李导推荐书籍2. OSI七层模型2.1 传输层2.2 网络层2.2.1 问:两端处于不同局域网的设备怎么网络通信? 2.3 数据链路层2.4 物理层2.5 图解OSI七层模型 3. 数据传输模式3.1 全双工3.2 半双工3.3 单工 4. TCP 3次握手4.1 抓包 5. TCP 4次挥手5.1 …...

专场回顾 | 重新定义交互,智能硬件的未来设计
自2022年起,中国智能硬件行业呈现出蓬勃发展的态势,市场规模不断扩大。一个多月前,“小智AI”在短视频平台的爆火将智能硬件带向了大众视野,也意味着智能硬件已不再仅仅停留在概念和技术层面,而是加速迈向实际落地应用…...
如何把一台电脑作为另外一台电脑的显示器
https://zhuanlan.zhihu.com/p/703889583 1. 两台电脑都要进行:点开投影到此电脑,点击可选功能,在可选功能窗口,搜索无线显示器;在结果列表中选中无线显示器,并安装 2. 在笔记本电脑(要用来做…...

WPS 免登录解锁编辑
遇到 WPS 需要登录才能启用编辑功能? 如何免登录使用编辑功能? 方法一 解锁方法 1、关闭 WPS; 2、桌面右键→ “新建”→“文本文档”,粘贴以下内容(见最下面);编码保持默认(ANSI …...
【C/C++】线程安全初始化:std::call_once详解
std::call_once 使用详解 std::call_once 是 C11 标准库中提供的一个线程安全的一次性调用机制,位于 <mutex> 头文件中。它确保某个可调用对象只被执行一次,即使多个线程同时尝试调用它。 基本用法 #include <mutex> #include <thread…...

技术分享 | Oracle SQL优化案例一则
本文为墨天轮数据库管理服务团队第70期技术分享,内容原创,作者为技术顾问马奕璇,如需转载请联系小墨(VX:modb666)并注明来源。 一、问题概述 开发人员反映有条跑批语句在测试环境执行了很久都没结束&…...
什么是RFID电子标签
RFID 电子标签是用于物品标识、具有信息存储机制、能接收读写器的电磁场调制信号并返回响应信号的数据载体,通常被称为电子标签,也可称作射频卡、射频标签、射频卷标等,是与读写器一起构成 RFID 系统的硬件主体。 RFID 系统基本组成包括RFID电子标签、读写器、射频天线、应用…...