当前位置: 首页 > article >正文

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 搜索镜像&#xff08;docker search&#xff09;1.2 拉取镜像&#xff08;docker pull&#xff09;1.3 查看本地镜像&#xff08;docker images&#xff09;1.4 删除镜像&#xff08;docker rmi&#xff09; 二、Docker容器…...

什么是 SQL 注入?如何防范?

什么是 SQL 注入?如何防范? 1. SQL 注入概述 1.1 基本定义 SQL 注入(SQL Injection)是一种通过将恶意SQL 语句插入到应用程序的输入参数中,从而欺骗服务器执行非预期SQL命令的攻击技术。攻击者可以利用此漏洞绕过认证、窃取数据甚至破坏数据库。 关键结论:SQL 注入是O…...

使用el-input数字校验,输入汉字之后校验取消不掉

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

Docker容器启动失败的常见原因分析

我们在开发部署的时候&#xff0c;用 Docker 打包环境&#xff0c;理论上是“我装好了你就能跑”。但理想很丰满&#xff0c;现实往往一 docker run 下去就翻车了。 今天来盘点一下我实际工作中经常遇到的 Docker 容器启动失败的常见原因&#xff0c;顺便给点 debug 的小技巧&a…...

Java提取markdown中的表格

Java提取markdown中的表格 说明 这篇博文是一个舍近求远的操作&#xff0c;如果只需要要对markdown中的表格数据进行提取&#xff0c;完全可以通过正在表达式或者字符串切分来完成。但是鉴于学习的目的&#xff0c;这次采用了commonmark包中的工具来完成。具体实现过程如下 实…...

立志成为一名优秀测试开发工程师(第七天)——unittest框架的学习

目录 unittest框架的学习 一、测试类的编写 创建相关测试类cal.py、CountTest.py 二、常见断言方法 使用unittest单元测试框架编写测试用例CountTest.py 注意&#xff1a;执行的时候光标一定要放在括号后面&#xff0c;鼠标右键运行 三、对测试环境的初始化和清除模块…...

精益数据分析(85/126):营收阶段的核心指标与盈利模型优化——从数据到商业决策的落地

精益数据分析&#xff08;85/126&#xff09;&#xff1a;营收阶段的核心指标与盈利模型优化——从数据到商业决策的落地 c。 一、营收健康度的核心指标&#xff1a;投资回报率模型 &#xff08;一&#xff09;季度再发性营收增长率&#xff08;QRR&#xff09; 该指标衡量…...

论坛系统(4)

用户详情 获取用户信息 实现逻辑 ⽤⼾提交请求&#xff0c;服务器根据是否传⼊Id参数决定返回哪个⽤⼾的详情 1. 不传⽤⼾Id&#xff0c;返回当前登录⽤⼾的详情(从session获取) 2. 传⼊⽤⼾Id&#xff0c;返回指定Id的⽤⼾详情(根据用户id去查) 俩种方式获得用户信息 参…...

本地Markdown开源知识库选型指南

本地Markdown开源知识库选型指南 以下是几款优秀的本地Markdown开源知识库解决方案&#xff0c;适合不同需求场景&#xff1a; 1. Obsidian (非完全开源但免费) 特点&#xff1a;基于Markdown的本地优先知识管理&#xff0c;丰富的插件生态优势&#xff1a;双向链接、图形视…...

【.net core】SkiaSharp 如何在Linux上实现

1. 安装依赖库 首先需要安装 SkiaSharp 运行时依赖&#xff1a; # 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…...

后端项目中静态文案国际化语言包构建选型

这是一个很关键的问题。在做国际化&#xff08;i18n&#xff09;时&#xff0c;不同语言包格式如 .resx、.properties 和 .json 都可用&#xff0c;但各自有适用场景、特性与限制&#xff0c;你在选择时可以根据你的开发语言、生态和维护成本权衡。 ✅ 一张对比表&#xff1a;.…...

前端面经 React常见的生命周期

初始化阶段 constructor state的初始化&#xff0c;防抖节流的绑定getDerivedStateFromProps 静态函数 当作纯函数使用 传入props和state&#xff0c;合并成一个新的statecomponentWillMount 组件如果有getDrivedStatefromprops不会执行 针对一些接口的预请求时使用rendercomp…...

力扣面试150题--二叉树的层平均值

Day 54 题目描述 思路 初次做法&#xff08;笨&#xff09;&#xff1a;使用两个队列&#xff0c;一个队列存放树的节点&#xff0c;一个队列存放对应节点的高度&#xff0c;使用x存放上一个节点&#xff0c;highb存放上一个节点的高度&#xff0c;sum存放当前层的节点值之和…...

【Doris入门】Doris初识:分布式分析型数据库的核心价值与架构解析

目录 1 Doris简介与核心价值 2 Doris架构深度解析 2.1 Frontend&#xff08;FE&#xff09;架构 2.2 Backend&#xff08;BE&#xff09;架构 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. 单例设计模式是一个类&#xff0c;它只允许创建自己的单个实例。 构造函数防止他在单例类以外的地方被调用。 使用情景&#xff1a;need a sing…...

数据结构与算法学习笔记(Acwing 提高课)----动态规划·区间DP

数据结构与算法学习笔记----动态规划区间DP author: 明月清了个风 first publish time: 2025.5.26 ps⭐️区间DP的特征在于子结构一般是一个子区间上的问题&#xff0c;涉及到的问题也非常多&#xff0c;如环形区间&#xff0c;记录方案数&#xff0c;高精度&#xff0c;二维…...

【合集】Linux——31个普通信号

Linux普通信号总表&#xff08;1-31&#xff09;​​ ​编号​​信号名​​触发原因​​默认动作​1SIGHUP终端连接断开&#xff08;如SSH会话终止&#xff09;或守护进程重载配置&#xff08;如nginx -s reload&#xff09;终止进程2SIGINT用户输入CtrlC中断前台进程终止进程…...

从0到1搭建AI绘画模型:Stable Diffusion微调全流程避坑指南

从0到1搭建AI绘画模型&#xff1a;Stable Diffusion微调全流程避坑指南 系统化学习人工智能网站&#xff08;收藏&#xff09;&#xff1a;https://www.captainbed.cn/flu 文章目录 从0到1搭建AI绘画模型&#xff1a;Stable Diffusion微调全流程避坑指南摘要引言一、数据集构…...

ASP.NET Core 中JWT的基本使用

文章目录 前言一、JWT与RBAC二、JWT 的作用三、RBAC 的核心思想四、使用1、配置文件 (appsettings.json)2、JWT配置模型 (Entity/JwtSettings.cs)3、服务扩展类&#xff0c;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 国际许可协议进行许可。 本作品 (李兆龙 博文, 由 李兆龙 创作)&#xff0c;由 李兆龙 确认&#xff0c;转载请注明版权。 文章目录 引言Compaction AlgorithmsCompact Execution Flow Based On VeloxLocalMergeSource的…...

vue3 导出excel

需求&#xff1a;导出自带格式的excel表格 1.自定义二维数组格式 导出 全部代码&#xff1a; <el-button click"exportExcel">导出</el-button> const exportExcel () > {const data [[商品, 单价, 数量, 总价],[A, 100, 1.55, { t: n, f: B2*C2…...

带你手写React中的useReducer函数。(底层实现)

文章目录 前言一、为什么需要 Reducer&#xff1f;二、Reducer 的核心概念1. Reducer 函数2. useReducer 钩子 三&#xff0c;手写react中的useReducer 总结 前言 在 React 开发中&#xff0c;useReducer 是管理复杂状态逻辑的利器。它类似于 Redux 的简化版&#xff0c;允许我…...

day024-网络基础-TCP与UDP、DNS

文章目录 1. 李导推荐书籍2. OSI七层模型2.1 传输层2.2 网络层2.2.1 问&#xff1a;两端处于不同局域网的设备怎么网络通信&#xff1f; 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年起&#xff0c;中国智能硬件行业呈现出蓬勃发展的态势&#xff0c;市场规模不断扩大。一个多月前&#xff0c;“小智AI”在短视频平台的爆火将智能硬件带向了大众视野&#xff0c;也意味着智能硬件已不再仅仅停留在概念和技术层面&#xff0c;而是加速迈向实际落地应用…...

如何把一台电脑作为另外一台电脑的显示器

https://zhuanlan.zhihu.com/p/703889583 1. 两台电脑都要进行&#xff1a;点开投影到此电脑&#xff0c;点击可选功能&#xff0c;在可选功能窗口&#xff0c;搜索无线显示器&#xff1b;在结果列表中选中无线显示器&#xff0c;并安装 2. 在笔记本电脑&#xff08;要用来做…...

WPS 免登录解锁编辑

遇到 WPS 需要登录才能启用编辑功能&#xff1f; 如何免登录使用编辑功能&#xff1f; 方法一 解锁方法 1、关闭 WPS&#xff1b; 2、桌面右键→ “新建”→“文本文档”&#xff0c;粘贴以下内容&#xff08;见最下面&#xff09;&#xff1b;编码保持默认&#xff08;ANSI …...

【C/C++】线程安全初始化:std::call_once详解

std::call_once 使用详解 std::call_once 是 C11 标准库中提供的一个线程安全的一次性调用机制&#xff0c;位于 <mutex> 头文件中。它确保某个可调用对象只被执行一次&#xff0c;即使多个线程同时尝试调用它。 基本用法 #include <mutex> #include <thread…...

技术分享 | Oracle SQL优化案例一则

本文为墨天轮数据库管理服务团队第70期技术分享&#xff0c;内容原创&#xff0c;作者为技术顾问马奕璇&#xff0c;如需转载请联系小墨&#xff08;VX&#xff1a;modb666&#xff09;并注明来源。 一、问题概述 开发人员反映有条跑批语句在测试环境执行了很久都没结束&…...

​什么是RFID电子标签​

RFID 电子标签是用于物品标识、具有信息存储机制、能接收读写器的电磁场调制信号并返回响应信号的数据载体,通常被称为电子标签,也可称作射频卡、射频标签、射频卷标等,是与读写器一起构成 RFID 系统的硬件主体。 RFID 系统基本组成包括RFID电子标签、读写器、射频天线、应用…...