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 常用的其他命令,敬请期待吧~

若这篇内容帮到你,动动手指支持下!关注不迷路,干货持续输出!
ヾ(´∀ ˋ)ノヾ(´∀ ˋ)ノヾ(´∀ ˋ)ノヾ(´∀ ˋ)ノヾ(´∀ ˋ)ノ

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

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

相关文章

软件性能之CPU

性能是个宏大而驳杂话题&#xff0c;从代码&#xff0c;到网络&#xff0c;到实施&#xff0c;方方面面都会涉及到性能问题&#xff0c;网上对性能讲解的文章多如牛毛&#xff0c;从原理到方法再到工具都有详细的介绍&#xff0c;本文虽不能免俗&#xff0c;但期望能从另外一个…

[SC]SystemC在CPU/GPU验证中的应用(三)

SystemC在CPU/GPU验证中的应用(三) 摘要:下面分享50个逐步升级SystemC编程能力的示例及建议的学习路线图。您可以一次一批地完成它们——从前五个基础的例子开始,然后转向channels, TLM, bus models, simple CPU/GPU kernels等等。在每个阶段掌握之后,再进行下一组…

如何设计高效的数据湖架构:存储策略、Schema 演进与数据生命周期管理

本文围绕现代数据湖架构的核心设计理念与实践展开,重点讨论如何高效组织数据存储、支持 Schema 演进与版本管理、实现冷热数据分层存储和生命周期治理,确保数据湖在性能、成本、演进和治理能力上的全面可控。 🧭 一、数据湖架构演进概览 传统数据仓库面对高频更新、Schema…

建筑兔零基础人工智能自学记录101|Transformer(1)-14

Transformer 谷歌提出&#xff0c;一组编码-解码器 可以同时处理&#xff0c;通过位置编码来处理单词 实质是token词语接龙&#xff08;只是有不同的概率&#xff09; token对应向量 Transformer简述 文生图就需要用到transformer黑箱 token 内部层次 中间主要是embedding…

Unity基础学习(十二)Unity 物理系统之范围检测

目录 一、关于范围检测的主要API&#xff1a; 1. 盒状范围检测 Physics.OverlapBox 2. 球形范围检测 Physics.OverlapSphere 3. 胶囊范围检测 Physics.OverlapCapsule 4. 盒状检测 NonAlloc 版 5. 球形检测 NonAlloc 版 6. 胶囊检测 NonAlloc 版 二、关于API中的两个重…

构建安全高效的邮件网关ngx_mail_ssl_module

一、快速上手&#xff1a;最小配置示例 worker_processes auto;mail {server {# 监听 IMAP over TLSlisten 993 ssl;protocol imap;# TLS 协议与密码套件ssl_protocols TLSv1.2 TLSv1.3;ssl_ciphers HIGH:!aNULL:!MD5;# 证书与私钥ssl_…

打卡day41

知识回顾 数据增强卷积神经网络定义的写法batch归一化&#xff1a;调整一个批次的分布&#xff0c;常用与图像数据特征图&#xff1a;只有卷积操作输出的才叫特征图调度器&#xff1a;直接修改基础学习率 卷积操作常见流程如下&#xff1a; 1. 输入 → 卷积层 → Batch归一化层…

MySQL高级查询技巧:分组、聚合、子查询与分页【MySQL系列】

本文将深入探讨 MySQL 高级查询技巧&#xff0c;重点讲解 GROUP BY、HAVING、各种聚合函数、子查询以及分页查询&#xff08;LIMIT 语法&#xff09;的使用。文章内容涵盖实际应用中最常见的报表需求和分页实现技巧&#xff0c;适合有一定 SQL 基础的开发者进一步提升技能。 一…

现代 CSS 高阶技巧:实现平滑内凹圆角的工程化实践

通过 数学计算 CSS mask 复合遮罩 实现的真正几何内凹效果&#xff1a; 背景是一张图片&#xff0c;用来证明中间的凹陷是透明的。 完整代码&#xff1a; app.js import FormPage from "./pages/formPage"; import "./App.css"; const App () > {re…

Qt不同布局添加不同控件

对于这种 不同布局添加不同控件 的情况,可以采用以下几种简化方法: 方法 1:使用 std::pair 或 std::tuple 配对(C++17 推荐) for (auto [layout, widget] : {std::pair{m_layoutMistakeCalibrate,

MySQL 事务解析

1. 事务简介 事务&#xff08;Transaction&#xff09; 是一组操作的集合&#xff0c;它是一个不可分割的工作单位&#xff0c;事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求&#xff0c;即这些操作要么同时成功&#xff0c;要么同时失败。 经典案例&#xff1…

PyTorch中 torch.utils.data.DataLoader 的详细解析和读取点云数据示例

一、DataLoader 是什么&#xff1f; torch.utils.data.DataLoader 是 PyTorch 中用于加载数据的核心接口&#xff0c;它支持&#xff1a; 批量读取&#xff08;batch&#xff09;数据打乱&#xff08;shuffle&#xff09;多线程并行加载&#xff08;num_workers&#xff09;自…

在MDK中自动部署LVGL,在stm32f407ZGT6移植LVGL-8.4,运行demo,显示label

在MDK中自动部署LVGL&#xff0c;在stm32f407ZGT6移植LVGL-8.4 一、硬件平台二、实现功能三、移植步骤1、下载LVGL-8.42、MDK中安装LVGL-8.43、配置RTE4、配置头文件 lv_conf_cmsis.h5、配置lv_port_disp_template 四、添加心跳相关文件1、在STM32CubeMX中配置TIM7的参数2、使能…

德思特新闻 | 德思特与es:saar正式建立合作伙伴关系

德思特新闻 2025年5月9日&#xff0c;德思特科技有限公司&#xff08;以下简称“德思特”&#xff09;与德国嵌入式系统专家es:saar GmbH正式达成合作伙伴关系。此次合作旨在将 es:saar 的先进嵌入式开发与测试工具引入中国及亚太市场&#xff0c;助力本地客户提升产品开发效率…

fork函数小解

学了好久终于搞懂fork函数的一些作用 1. fork函数作用&#xff1a;用于创建新的子进程 这是fork最根本的功能&#xff0c;在父进程里创建新的子进程、 但是创建新的子进程之后呢&#xff1f; 子进程和父进程的关系是什么样的&#xff1f; 为什么fork得到的子进程返回值为0&am…

opencv(C++) 变换图像与形态学操作

文章目录 使用腐蚀和膨胀图像形态滤波器实现案例使用形态学滤波器对图像进行开运算和闭运算实现案例在灰度图像上应用形态学操作算子形态学梯度(Morphological Gradient)黑帽变换(Black-hat Transform)使用分水岭算法进行图像分割使用 MSER 提取显著区域MSER 检测与可视化使…

测试工程师学LangChain之promptTemplate 实战笔记

一、引言:大模型时代的测试自动化革命 2025 年,随着大模型(如 DeepSeek)在自动化测试领域的广泛应用,Prompt 编写已成为测试工程师的核心技能之一。 为什么? 大模型输出的质量 90% 取决于输入的 PromptLangChain 的 PromptTemplate 提供了参数化 Prompt 的标准化方案Ope…

CP2K 软件介绍与使用指南

CP2K 软件介绍与使用指南 一、CP2K简介 CP2K是一款开源的量子化学和固态物理模拟软件包&#xff0c;主要用于原子尺度模拟&#xff0c;特别擅长以下领域&#xff1a; 第一性原理计算&#xff1a;基于密度泛函理论(DFT)的电子结构计算分子动力学(MD)&#xff1a;包括从头算分…

npm、pnpm、yarn使用以及区别

npm 使用 安装包&#xff1a;在项目目录下&#xff0c;npm install <包名> 用于本地安装包到 node_modules 目录&#xff0c;并添加到 package.json 的 dependencies 中&#xff1b;npm install -g <包名> 用于全局安装&#xff0c;适用于命令行工具等。初始化项目…

2025年北京市职工职业技能大赛第六届信息通信行业网络安全技能大赛复赛CTF部分WP-哥斯拉流量分析

2025年北京市职工职业技能大赛第六届信息通信行业网络安全技能大赛复赛CTF部分WP-哥斯拉流量分析 一、流量分析 题目没有任何提示,附件gzl.pcap 解题哥斯拉流量300多KB包很多,没啥经验只能挨个看回来之后又狠狠得撸了一把哥斯拉流量分析我这里用的是哥斯拉4.0.1 测试链接…