Docker入门篇(二)—— 命令

Docker入门篇(二)—— 命令

插播!插播!插播!亲爱的朋友们,我们的Cmake/Makefile/Shell这三个课程上线啦!感兴趣的小伙伴可以去下面的链接学习哦~

构建工具大师-CSDN程序员研修院

一、引言

当我们下载完docker以后,接下来就讲解下一个主题---docker常用的一些命令,在我们在使用虚拟机时+,比如说创建文件或者切换目录还有使用vi编辑器来编辑一些文件内容,都需要在命令端执行一些命令对linux进行操作,其实在docker中也同样如此,我们也需要通过执行一些命令来控制docker,docker命令细分可以分为好几个部分,比如说镜像命令,容器命令等等。当然了首当其冲的命令就是先得明白帮助启动类的命令。

二、帮助启动类命令

比如说,假设你是第一次使用dockers,并且刚刚安装成功,那么你想使用docker,那么就得先启动docker,在docker中,我们需要执行以下命令来启动docker服务:

systemctl start docker

通过这个命令启动了docker服务之后,还可以再执行以下命令查看docker的状态,查看docker是否已经启动成功了。

systemctl status docker

比如说我们已经执行了启动docker命令,再执行查看状态的命令后,我们发现此时状态已经是运行状态了。

假设你已经不需要使用docker了,这时就可以执行以下命令来暂停docker服务:

systemctl stop docker

通过这个命令暂停了docker之后,可以再次执行命令查看docker的状态,查看docker是否已经成功暂停了。

这时我们可以看到docker已经被暂停了。这时如果要重启docker,可以执行以下命令:

systemctl restart docker

这时docker就又被启动了,这时也可以再次执行命令查看docker的状态,查看docker是否又被重新启动了。

这里看到docker服务又被我们重新启动了,倘若你觉得每次都需要启动docker服务很麻烦,那么你就可以使用开机自启动docker服务命令

systemctl enable docker

这样执行这个命令后,就开启虚拟机后就不需要再启动docker服务,它会自动启动。

假设你想查看你所下载的docker的一些基本信息,此时可以执行以下命令:

docker info

这时总端就会输出当前的这个docker的一些概要信息,你就可以查看到你想获取的信息了。另外假设你还想了解docker更多的命令怎么使用,这些命令会产生什么效果,此时可以执行docker help命令去查看docker总体的帮助文档:

这时这个帮助文档就会举例出docker的所有命令了,如果里面有你特别想深入了解的命令,那么你可以执行这条语句,它可以帮助查看docker某具体命令的帮助手册:

Docker 具体命令 --help

假设你感兴趣的是run命令,那么就在终端执行docker run --help

可以看到此时会打印出很多参数,在docker run命令中,不同的参数都发挥着不同的作用。

简单讲解完docker的一些帮助类的命令后,接下来我们来慢慢接触docker的一些其他命令。

三、镜像命令

前面已经讲到过,docker有三个要素,分别为镜像,容器,仓库。其实在每个要素中都有属于它们的命令,首先先来说说镜像命令,在本地主机上我们如何查看本机上的镜像,通常我们执行以下命令就可以列出所有的镜像:

docker images

运行 docker images 命令将显示本地主机上所有已经下载和存储的 Docker 镜像的列表。每行显示一个镜像的详细信息,包括镜像的仓库、标签、镜像 ID、创建时间和大小。

此时可以看到我虚拟机上所有存在的镜像了,如果你是第一次使用的话,这个时候是没有镜像的,所以可能输出就为空。没有镜像没关系,我们可以从镜像仓库里面拉取镜像,此时就可以执行这样的一个指令:

docker pull 镜像名称:版本号

它是一个用于从 Docker 仓库下载特定版本的 Docker 镜像的命令,通过指定镜像名称和版本号,您可以拉取所需的 Docker 镜像到本地主机。Docker 将从仓库中获取指定的镜像,并将其下载到本地。

此时centos镜像应该就被你拉取到本地了,于是可以再次执行docker images再次看到本地是否有你拉取下的镜像。请注意,如果本地主机上已经存在该镜像的最新版本,Docker 将不会重新下载它,而是直接使用本地已有的镜像。如果您需要更新或拉取特定版本的镜像,请确保使用正确的镜像名称和版本号。倘若你想详细了解这个镜像的描述,例如你想搜索一个名叫”centos”的镜像,可以运行以下命令:

docker search  镜像名

它是一个用于搜索 Docker Hub 上的镜像的命令。您可以在命令中指定一个关键字,然后 Docker 会搜索匹配该关键字的镜像。Docker 将返回一个包含匹配该关键字的镜像的列表。每个镜像都有一个描述、一个标签、一个评分和一条相关的 Dockerfile 链接。您可以选择其中一个镜像来下载并使用它。

假设你下载了这个镜像,觉得并没有什么用,那么就可以通过以下命令删除这个镜像:

docker rmi 镜像名

docker rmi 是一个用于删除本地 Docker 镜像的命令。该命令可以删除一个或多个镜像。您可以通过指定镜像名称或镜像 ID 来删除镜像。如果要删除多个镜像,可以在命令中指定多个镜像名称或镜像 ID,这里不得不插播一条命令:

docker images -q

它是一个用于列出本地 Docker 镜像的简短标识符(即镜像 ID)的命令。通过运行 docker images -q 命令,您将获得本地主机上所有镜像的镜像 ID 的列表。每个镜像 ID 都是一个唯一的标识符,用于唯一地标识一个镜像。

使用 docker images -q 命令可以快速获取本地主机上所有镜像的标识符,而无需显示完整的镜像信息。这对于需要使用镜像 ID 进行其他 Docker 命令的情况非常有用。例如说批量删除镜像就可以使用到。

假设你想删除指定的名为centos镜像,指定镜像名或者镜像ID,那么只需要这么做:

如何某个镜像正在使用,或者删除不了,你可以使用-f或者--force参数强制删除镜像。因此需要注意使用 docker rmi 命令时要小心,确保您不会意外删除正在使用的镜像。在删除镜像之前,最好先确认该镜像是否正在被使用。

四、容器命令

Docker 是一个开源的应用容器引擎,它使得开发者可以将应用程序及其依赖打包到一个可移植的容器中,然后将其部署到任何 Docker 环境中。容器是一种轻量级的虚拟化技术,它允许应用程序在不同的平台上运行,而无需对应用程序本身进行任何修改。

Docker 的容器命令是用于创建、运行和管理容器的命令行工具。以下是一些常用的 Docker 容器命令,Docker run 是一个用于创建并启动 Docker 容器的命令。它的语法是:

docker run -id  --name=名字  指定镜像:指定版本

这个命令有几个重要的参数和选项,例如:

-d:在后台运行容器。

-p:将宿主机的端口映射到容器端口。

-v:将宿主机的目录或文件挂载到容器中。

--name:为容器指定一个名称。

当你使用 docker run 命令时,Docker 首先会查找本地主机上的 Docker 镜像,如果该镜像不存在,Docker 会从 Docker Hub 或者你指定的仓库中拉取镜像。然后,Docker 会基于该镜像创建一个新的容器,并启动该容器。

总的来说,docker run 命令使得开发者可以快速、简单地创建并运行 Docker 容器,而无需关心底层的虚拟化细节。

例如,生成一个基于镜像mysql的名为test-mysql的容器,此时就成功创建并且启动了一个docker容器。

另外docker ps 是一个用于显示当前正在运行的 Docker 容器的命令。该命令将列出所有正在运行的容器,包括它们的容器 ID、名称、镜像、状态等信息。

除了显示正在运行的容器,docker ps 命令还可以通过添加参数来筛选和排序容器。例如,使用 -a 参数可以显示所有容器,包括已停止的容器。

使用 --format 参数可以自定义输出格式;使用 --no-trunc 参数可以显示完整的容器信息。

此外,docker ps 命令还支持通过管道(pipe)与其他命令结合使用,例如与 grep 命令结合来查找特定容器的信息。

总之,docker ps 命令是用于查看和管理正在运行的 Docker 容器的常用工具之一,它可以帮助用户快速了解容器的运行状态和相关信息。

此外这些容器其实都处于一个运行状态,docker stop 是一个用于停止正在运行的 Docker 容器的命令,它的语法如下:

docker stop [OPTIONS] CONTAINER [CONTAINER...]

其中,CONTAINER 是要停止的容器的标识符或名称。您可以使用多个容器标识符来一次停止多个容器。

docker stop 命令的工作原理是向容器的进程发送一个系统信号来请求它停止。默认情况下,该命令会向容器的 PID 为 1 的进程发送 SIGTERM 信号。如果容器中的进程在默认的超时时间内(默认为 10 秒)没有停止,docker stop 命令将强制发送 SIGKILL 信号来终止进程。

您可以使用 -t 选项来指定一个自定义的超时时间(以秒为单位),例如 docker stop -t 20 会将超时时间设置为 20 秒。此外,您还可以使用 -f 或 --force 选项来强制停止容器,即使容器中的进程没有响应 SIGTERM 信号。

需要注意的是,在容器中运行的进程可能会在收到 SIGTERM 信号后执行清理操作,例如关闭数据库连接或保存数据。因此,如果您选择使用自定义的超时时间或强制停止容器,请确保这些操作不会导致数据丢失或其他潜在问题。

总之,docker stop 命令是用于控制 Docker 容器生命周期的重要工具之一,它允许您停止正在运行的容器,并可以选择性地指定超时时间和是否强制停止容器。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

二叉搜索树的后序遍历序列

作者简介:大家好,我是smart哥,前中兴通讯、美团架构师,现某互联网公司CTO 联系qq:184480602,加我进群,大家一起学习,一起进步,一起对抗互联网寒冬 学习必须往深处挖&…

利用Knife4j注解实现Java生成接口文档

文章目录 1、简介2、生成文档3、系列注解3.1、Api3.2、ApiResponses和ApiResponse3.3、ApiOperation3.4、Pathyvariable⭐3.5、RequestBody3.6、ApiOperationSupport3.7、ApiImplicitParams 和 ApiImplicitParam3.8、ApiModel3.9、ApiModelProperty ​🍃作者介绍&am…

动手学RAG:汽车知识问答

原文:动手学RAG:汽车知识问答 - 知乎 Part1 内容介绍 在自然语言处理领域,大型语言模型(LLM)如GPT-3、BERT等已经取得了显著的进展,它们能够生成连贯、自然的文本,回答问题,并执行…

JUC并发编程-异步回调、JMM、volatile

15. 异步回调 Future 设计的初衷:对将来的某个事件结果进行建模! 其实就是前端 --> 发送ajax异步请求给后端 但是我们平时都使用CompletableFuture 1)异步调用:CompletableFuture 没有返回值的异步回调 public static void ma…

Microsoft Edge 浏览器报错 提示不安全

网站提示不安全 是因为 Microsoft Edge 开了安全过滤 我们需要把这个关掉 打开浏览器的设置,然后 找到隐私选项 找到下边的Microsoft Defender Smartscreen 关掉 Microsoft Edge 支持 Microsoft Defender SmartScreen | Microsoft Learn win10系统下打开网页提示…

【国产MCU】-认识CH32V307及开发环境搭建

认识CH32V307及开发环境搭建 文章目录 认识CH32V307及开发环境搭建1、CH32V307介绍2、开发环境搭建3、程序固件下载1、CH32V307介绍 CH32V307是沁恒推出的一款基于32位RISC-V设计的互联型微控制器,配备了硬件堆栈区、快速中断入口,在标准RISC-V基础上大大提高了中断响应速度…

第一节 分布式架构设计理论与Zookeeper环境搭建

目录 1. 分布式架构设计理论 1. 分布式架构介绍 1.1 什么是分布式 1.2 分布式与集群的区别 1.3 分布式系统特性 1.4 分布式系统面临的问题 2. 分布式理论 2.1 数据一致性 2.1.1 什么是分布式数据一致性 2.1.2 副本一致性 2.1.3 一致性分类 2.2 CAP定理 2.2.1 CAP定…

微服务-微服务Alibaba-Nacos 源码分析(上)

Nacos&Ribbon&Feign核心微服务架构图 架构原理 1、微服务系统在启动时将自己注册到服务注册中心,同时外发布 Http 接口供其它系统调用(一般都是基于Spring MVC) 2、服务消费者基于 Feign 调用服务提供者对外发布的接口,先对调用的本地接口加上…

c++程序的各阶段

c程序四个阶段 预处理阶段 预处理器&#xff08;cpp&#xff09;根据以字符#开头的命令&#xff0c;修改原始的C程序。比如hello.c中第一行的#include<stdio.h>命令告诉预处理器读取系统头文件stdio.h的内容&#xff0c;并把它直接插入程序文本中&#xff0c;结果就得到…

代码随想录算法刷题训练营day19

代码随想录算法刷题训练营day19&#xff1a;LeetCode(404)左叶子之和、LeetCode(112)路径总和、LeetCode(113)路径总和 II、LeetCode(105)从前序与中序遍历序列构造二叉树、LeetCode(106)从中序与后序遍历序列构造二叉树 LeetCode(404)左叶子之和 题目 代码 /*** Definitio…

shell - 正则表达式和grep命令和sed命令

一.正则表达式概述 1.正则表达式定义 1.1 定义 使用字符串描述、匹配一系列符合某个规则的字符串 1.2 了解 普通字符&#xff1a; 大小写字母、数字、标点符号及一些其它符号元字符&#xff1a; 在正则表达式中具有特殊意义的专用字符 1.3 层次分类 基础正则表达式扩展正…

《机器人SLAM导航核心技术与实战》第1季:第7章_SLAM中的数学基础

视频讲解 【第1季】7.第7章_SLAM中的数学基础-视频讲解 【第1季】7.1.第7章_SLAM中的数学基础_SLAM发展简史-视频讲解 【第1季】7.2.第7章_SLAM中的数学基础_SLAM中的概率理论-视频讲解 【第1季】7.3.第7章_SLAM中的数学基础_估计理论-视频讲解 【第1季】7.4.第7章_SLAM中的…

我用Rust开发Rocketmq name server

我是蚂蚁背大象(Apache EventMesh PMC&Committer)&#xff0c;文章对你有帮助给Rocketmq-rust star,关注我GitHub:mxsm&#xff0c;文章有不正确的地方请您斧正,创建ISSUE提交PR~谢谢! Emal:mxsmapache.com 1. Rocketmq-rust namesrv概述 经过一个多月的开发&#xff0c;终…

ssm学生选课系统

学生选课系统&#xff0c;java项目&#xff0c;ssm项目&#xff0c;增删改查均已实现。eclipse和idea都能打开运行。 系统分为3部分学生选课管理&#xff0c;教师管理&#xff0c;管理员管理 主要功能&#xff1a; 管理员&#xff1a;课程管理、学生管理、教师管理 教师&am…

Unity打包Android,jar文件无法解析的问题

Unity打包Android&#xff0c;jar无法解析的问题 介绍解决方案总结 介绍 最近在接入语音的SDK时&#xff0c;发现的这个问题. 当我默认导入这个插件的时候&#xff0c;插件内部的文件夹&#xff08;我下面话红框的文件夹&#xff09;名字原本为GCloudVoice&#xff0c;这时候我…

利用Python中的集合去除列表中重复的元素

题目描述 已知列表li_one[1,2,1,2,3,5,4,3,5,7,4,7,8]&#xff0c;编写程序实现删除列表li_one中重复数据的功能。 分析 集合的特点是集合内元素无序性&#xff0c;集合内元素不可重复&#xff0c;因此可以利用不可重复的特性来解决该问题。 程序代码 li_one[1,2,1,2,3,5,…

Day01-变量和数据类型课后练习-参考答案

文章目录 1、输出你最想说的一句话&#xff01;2、定义所有基本数据类型的变量和字符串变量3、用合适类型的变量存储个人信息并输出4、定义圆周率PI5、简答题 1、输出你最想说的一句话&#xff01; 编写步骤&#xff1a; 定义类 Homework1&#xff0c;例如&#xff1a;Homewo…

已实现:vue、h5项目如何使用echarts实现雷达图、六边形图表

说实话&#xff0c;要说图表里&#xff0c;最强的应该属于echarts了&#xff0c;不管是接入难度上&#xff0c;还是样式多样性上&#xff0c;还有社区庞大程度上&#xff0c;都是首屈一指的&#xff0c;反观有的人习惯用chart.js了&#xff0c;这个无可厚非&#xff0c;但是如果…

elementui中的tree自定义图标

需求&#xff1a;实现如下样式的树形列表 自定义树的图标以及点击时&#xff0c;可以根据子级的关闭&#xff0c;切换图标 <el-tree :data"treeList" :props"defaultProps"><template #default"{ node, data }"><span class&quo…

校园圈子论坛系统--APP小程序H5,前后端源码交付,支持二开!uniAPP+PHP书写!

随着移动互联网的快速发展&#xff0c;校园社交成为了大学生们日常生活中重要的一部分。为了方便校园内学生的交流和互动&#xff0c;校园社交小程序逐渐走入人们的视野。本文将探讨校园社交小程序的开发以及其带来的益处。 校园社交小程序的开发涉及许多技术和设计方面。首先&…