Docker学习笔记

笔者在上篇安装docker的笔记中已经演示了如何运行hello-world镜(具体流程:先在本地寻找最新版的hello-world镜像,没有时,从官网拉一个镜像。下载最新的镜像)。在此篇中,笔者将会分享学习Docker的笔记以及归纳。

1. Docker运行的机制和原理

Docker是一个Client-Server结构的系统,Docker守护进程运行在主机上,然后通过Socket连接从客户端访问,守护进程从客户端接收命令并管理运行在主机上的容器。容器是一个运行时的环境。

VM是分钟级启动的,而Docker是秒级启动的。那么为什么它比虚拟机快?

Docker具有着比虚拟机更少的抽象层。由于Docker不需要Hypervisor实现硬件资源虚拟化,运行在Docker容器上的程序直接使用物理机的硬件资源。在CPU使用效率和内存利用率上Docker占据明显优势。
Docker利用的是宿主机的内核,不需要Guest OS。因此,当创建一个新的容器时,不需要像虚拟机一样重新加载一个操作系统内核。Docker直接利用宿主机的操作系统,省略了加载操作系统内核时间,因此新建一个Docker容器的时间是秒级的。

那么Docker容器和虚拟机之间有没有什么具体的区别呢?

在这里插入图片描述

2. Docker帮助命令

主要是有三个命令:
docker version
docker info
docker --help
以下是这三个命令的实现。
在这里插入图片描述
在这里插入图片描述
可以看到info个人信息的描述比version中的内容更加全面,包括容器、镜像、存储驱动位置,所需要内存,宿主机名字等。

在这里插入图片描述
在这里插入图片描述
这里显示的是运行docker --help指令后所生成的东西。可以看到这里存储着Docker的所有指令并且具有说明,当使用Docker时,需要使用命令便可激活查看相关的命令方式。

3. 镜像命令

3.1 docker images

列出本地(非远程仓库)主机上的镜像
在这里插入图片描述
可以看到笔者主机上的镜像只有hello-world一个。它的版本是最新版的,且有一个具体的ID。并且笔者将以上表头进行解释理解:

REPOSITORY:表示镜像的仓库源
TAG:表示镜像的标签
IMAGE ID:表示镜像的ID
CREATED:镜像创建时间
SIZE:镜像大小

同一个仓库源中可以有多个TAG,代表不同版本。可以使用REPOSITORY:TAG来定义不同版本的镜像。

在这里插入图片描述
通过-a命令列出本地的所有镜像(含中间映像层)

在这里插入图片描述
通过-q命令显示当前所有镜像的ID,在我们需要删除时,可以将这些ID传给删除指令,进行批量删除。

在这里插入图片描述

–digists 命令,与上一张图对比,出现DIGEST说明,显示镜像的摘要信息,类似于备注。

在这里插入图片描述

–no-truc命令显示完整的镜像信息。这里将输出完整的镜像ID。

3.2 docker search

到docker hub上查找某镜像。
输入命令 docker search ×××便可以找到镜像文件。
例如我们搜索tomcat镜像。
在这里插入图片描述
这些都是搜索到的镜像,在Official标签下,显示的是该镜像是否是官方版本。当然也可以到 https://hub.docker.com 官方网站上去搜寻,stars可以理解为点赞数。当要拉下指定的镜像时,可以输入docker pull tomcat指令即可拉下来。

当我们根据点赞数进行搜索时,我们可以使用docker search -s number tomcat来进行搜索,number可以自定义数字,搜索结果输出星级数大于number的镜像。
在这里插入图片描述
那么我们可以看到 --stars已被遗弃,被新型的语句所代替。那么我们使用新型语句进行再次执行。
在这里插入图片描述
在这里显示出星级数大于70的两个镜像。

–automated命令,只列出自动构建的镜像类型。它将显示AUTOMATED那一栏显示OK的镜像。

笔者下载了tomcat星级最高的一个镜像,并且附上命令。
在这里插入图片描述
这里的命令是用了官网上的命令docker pull tomcat并且默认下载最新版,如果要指定版本,则可以用docker pull tomcat : TAG 来下载。 TAG为版本,最新版本则是latest。等待一段时间,将其下载完成。
在这里插入图片描述
那么我们再检测一下我们所有的镜像。
在这里插入图片描述
此时已经有两个镜像了,说明我们成功将tomcat的最新版本拉下来了。那么,我们现在将hello-world镜像删除。输入命令 docker rmi hello-world。此时,出现了错误。
在这里插入图片描述
那么我们要对其强制删除该怎么删呢?

输入命令 docker rmi -f hello-world
在这里插入图片描述
我们将hello-world成功删除。

那么如果想删除多个该输入什么命令呢?
输入命令docker rmi -f 镜像名1 镜像名2 即可
如果想删除全部的话,输入命令docker rmi -f ${docker images -q}

(Tips: 如果直接从官网下载会比较慢,建议使用阿里云镜像加速器配置)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值