Docker为什么比VM要快?

● Docker有着比虚拟机更少的虚拟层

由于Docker不需要Hypervisor(虚拟机)实现硬件资源虚拟化,运行在docker容器上的程序直接使用的都是实际物理机的硬件资源。因此在CPU、内存利用率上Docker将会在效率上有明显优势

● Docker利用的是宿主机的内核,而不需要加载操作系统的OS内核

当新建一个容器时,docker不需要和虚拟机一样重新加载一个操作系统内核。进而避免引寻、加载操作系统内核返回等比较费时费资源的过程,当新建一个虚拟机时,虚拟机软件需要加载OS,返回新建过程是分钟级别的。而docker由于直接利用宿主机的操作系统,则省略了返回过程,因此新建一个docker容器只需要几秒钟。

Docker常用命令

①帮助启动类命令

    ● 启动Docker :systemctl start docker

    ● 停止Docker :systemctl stop docker

    ● 重启Docker :systemctl restart docker

    ● 查看Docker状态 :systemctl status docker

    ● 开机启动Docker :systemctl enable docker

    ● 查看Docker概要信息 :docker info

    ● 查看Docker总体帮助文档 :docker --help

    ● 查看Docker命令帮助文档 :docker 具体命令--help

②镜像命令

    ● 列出本地主机上的镜像 :docker images

选项说明
REPOSITORY镜像的仓库源
TAG镜像的标签版本号
IMAGE ID镜像ID
CREATED镜像创建时间
SIZE        镜像大小

    同一个仓库源可以有多个TAG版本,代表这个仓库源的不同的版本 

OPTIONS选项说明
选项说明
-a列出本地所有镜像层(含历史映像层)
-q只显示镜像ID

    ● docker search [options]镜像名字   

参数说明
NAME镜像名称
DESCRIPTION镜像说明
STARS点赞数量
OFFICIAL

是否是官方的

AUTOMATED是否是自动构建的

选项:limit(只列出N个镜像默认是25个)

例如我们查找redis镜像,只想看前五个那就是 docker search --limit 5 redis

    ● docker pull 某个镜像名字[:TAG]

     如果指令后面不加tag那么默认就是下载最新版本,等价于 docker pull 镜像名 latest,我在这里面下载了一个Ubuntu的镜像。利用(docker images -a)命令查看当前电脑所有镜像

 如果只需要查看镜像的ID:docker images -q

 Linux下查看硬盘空间:df -h

    ● docker system df 查看镜像/容器/数据卷所占空间

    ● docker rmi 镜像名字/ID      删除某个镜像

显示正在被某个容器使用,那么我现在向强制删除 使用rmi -f指令: 删除多个 就是直接加在后面(docker rmi -f a b c...),删除全部镜像:

docker rmi -f $(docker iamges qa)

最后,谈谈Docker的虚悬镜像是什么?

     首先,虚悬镜像就是仓库名,标签都是none的镜像,俗称虚悬镜像(dangling images)。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐