• 3. run运行流程图
  • 4. 底层原理
    • 4.1. Docker是怎么工作的
    • 4.2. Docker为什么比VM快?
  • 5. Docker的常用命令(重)
    • 5.1. 帮助命令
    • 5.2. 镜像命令(基础)
      • 5.2.1. 查看本地主机上所有镜像
      • 5.2.2. 搜索镜像
      • 5.2.3. 拉取镜像
      • 5.2.4. 删除镜像
  • 6. 上一篇:[Docker全面详解(一)](https://blog.csdn.net/weixin_46178852/article/details/118221333?spm=1001.2014.3001.5501)

3. run运行流程图

4. 底层原理

4.1. Docker是怎么工作的

Docker是一个C/S结构的系统,Docker守护进程运行在主机上,然后通过Socket连接从客户端访问!
       DockerServer接收到Docker-Client的指令,就会执行这个命令。
       守护进程从客户端接受命令并管理运行在主机上的容器。
       容器,是一个运行时环境,就是我们前面说到的集装箱。
       
       

4.2. Docker为什么比VM快?

(1)Docker有着比虚拟机更少的抽象层。
       (2)Docker利用的是宿主机的内核,VM需要的是Guest OS。
       
       
       所以说,新建一个容器的时候,Docker不需要像虚拟机一样重新加载一个操作系统内核,避免引导。虚拟机是加载Guest OS,分钟级别的,而Docker是利用宿主机的操作系统,省略了这个复杂的过程,秒级!
       

5. Docker的常用命令(重)

官方命令文档:https://docs.docker.com/engine/reference/commandline/build/

5.1. 帮助命令

docker version       # 显示Docker版本信息
docker info         # 显示Docker系统信息,包括镜像和容器数
docker --help       # 帮助

5.2. 镜像命令(基础)

5.2.1. 查看本地主机上所有镜像

docker images            # 查看所有本地主机上的镜像


       解释
       REPOSITORY                   # 镜像的仓库源
       TAG                                   # 镜像的标签
       IMAGE ID                          # 镜像的ID
       CREATED                         # 镜像创建时间
       SIZE                                  # 镜像大小

同一个仓库源可以有多个TAG,代表这个仓库源的不同版本,我们使用REPOSITORY:TAG定义不同的镜像,如果不定义镜像的标签版本,docker将默认使用lastest镜像(最新的)。

可选项
       -a:              # 列出本地所有镜像,–all
       -q:              # 只显示镜像id,–quiet
       --digests:   # 显示镜像的摘要信息

示例

docker images -a         # 显示所有镜像
docker images -q            # 显示所有镜像的id
docker images -aq       # 显示所有的镜像![在这里插入图片描述](https://img-blog.csdnimg.cn/15c3942e1ac04ba19167ef55d3ed5be6.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NjE3ODg1Mg==,size_16,color_FFFFFF,t_70)

5.2.2. 搜索镜像

docker search        # 搜索镜像


       通过docker search某个镜像的名称来搜索对应Docker Hub仓库中的镜像,但有时候我们不知道仓库中的镜像名字,比如Tomcat。
       可先上docker仓库镜像:https://hub.docker.com/ 上进行搜索要下载的资源,再进行拉取操作。
       
       点击tomcat项后,进入详细页面:
       
       点击“Tags”进入标签页,这里有很多版本,我们选择Tomcat 9.0.46,JDK8的版本进行拉取:
       
       可选项,通过搜索来过滤

--filter=stars=50      # 列出收藏数不小于50的镜像。

5.2.3. 拉取镜像

docker pull tomcat:9.0


       注1:tomcat是要拉取的镜像名,9.0是镜像的TAG。如不指定TAG默认拉取最新版本。
       
       注2:拉取镜像时会进行分层下载,分层的好处是:可以提高镜像的重用率。

拉取MySQL

docker pull mysql        # 不写tag,默认是latest最新版本


       拉取指定版本下载

docker pull mysql:5.7        # 删除mysql标签为5.7的镜像


       查看下载后的镜像

docker images

5.2.4. 删除镜像

docker rmi docker rmi –f 6654503f1940   # 删除单个镜像
docker rmi –f tomcat:9.0 mysql:5.7  # 删除多个,空格分开
docker rmi -f $(docker images -qa)  # 删除全部

先查看镜像

docker images


       再删除镜像

docker rmi -f 6654503f1940

6. 上一篇:Docker全面详解(一)

Docker全面详解(二)相关推荐

  1. 虚拟化技术之docker技术详解

    文章目录 虚拟化技术之docker技术详解 关于作者 作者介绍 前言 虚拟化技术概述及简介 一 .什么是虚拟化技术? 二.常见的虚拟化技术有哪些? 2.1 KVM 虚拟化技术概念 2.2 ESXI 虚 ...

  2. 安卓 linux init.rc,[原创]Android init.rc文件解析过程详解(二)

    Android init.rc文件解析过程详解(二) 3.parse_new_section代码如下: void parse_new_section(struct parse_state *state ...

  3. [转]文件IO详解(二)---文件描述符(fd)和inode号的关系

    原文:https://www.cnblogs.com/frank-yxs/p/5925563.html 文件IO详解(二)---文件描述符(fd)和inode号的关系 ---------------- ...

  4. PopUpWindow使用详解(二)——进阶及答疑

    相关文章: 1.<PopUpWindow使用详解(一)--基本使用> 2.<PopUpWindow使用详解(二)--进阶及答疑> 上篇为大家基本讲述了有关PopupWindow ...

  5. Android init.rc文件解析过程详解(二)

    Android init.rc文件解析过程详解(二) 3.parse_new_section代码如下: void parse_new_section(struct parse_state *state ...

  6. linux 进程间通信 dbus-glib【实例】详解二(下) 消息和消息总线(ListActivatableNames和服务器的自动启动)(附代码)

    linux 进程间通信 dbus-glib[实例]详解一(附代码)(d-feet工具使用) linux 进程间通信 dbus-glib[实例]详解二(上) 消息和消息总线(附代码) linux 进程间 ...

  7. linux 进程间通信 dbus-glib【实例】详解二(上) 消息和消息总线(附代码)

    linux 进程间通信 dbus-glib[实例]详解一(附代码)(d-feet工具使用) linux 进程间通信 dbus-glib[实例]详解二(上) 消息和消息总线(附代码) linux 进程间 ...

  8. Android Gradle 自定义Task详解二:进阶

    转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/78523958 本文出自[赵彦军的博客] 系列目录 Android Gradle使用 ...

  9. Android Loader 异步加载详解二:探寻Loader内部机制

    Android Loader 异步加载详解二:探寻Loader内部机制 转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/7025991 ...

最新文章

  1. 【Qt】在ubuntu14.04上安装Qt5.12(失败)
  2. vc编程中出现 fatal error C1010: 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include stdafx.h”?...
  3. iOS-- pod常用命令
  4. 细胞培养中出现黑胶虫污染处理方法
  5. [zabbix][问题解决]监控项 Received value [] is not suitable for value type [Numeric(float)]
  6. Windows 添加用户
  7. c语言扫掠数组,科学网—COMSOL 个人笔记 - 刘铨鸿的博文
  8. 基于Python的旅游管理系统-小程序
  9. InnoDB 存储引擎(8)——InnoDB 存储引擎文件
  10. 网络渗透基本思路及方法
  11. java支付宝支付,支付手机支付,pc网站支付
  12. python 大括号嵌套,分析嵌套的大括号/方括号组
  13. 黑苹果登录apple id_充分利用Apple登录功能
  14. 1 error and 0 warnings potentially fixable with the `--fix` optio
  15. css最后一行省略号,CSS怎么实现单行、多行文本溢出显示省略号
  16. 红​字​和​蓝​字​冲​销(红字冲正、蓝字冲正)
  17. springboot无法打开 jsp 页面变成下载解决办法
  18. 本地分支与线上代码发生冲突,导致不能应用最新储藏问题
  19. tensorrt,mmclas中的onnx转tensorrt
  20. 基于java ssm springboot+VUE疫情防疫系统系统前后端分离设计和实现

热门文章

  1. 汉诺塔 - Java
  2. chrome浏览器怎么开启高性能模式
  3. 中国区首发 | 规模化敏捷RTE(企业级敏捷教练/发布火车工程师)国际认证课程
  4. VB之比较三个数的大小
  5. python 源码编译 without_vcmi(魔法门英雄无敌3 - 开源复刻版) 源码编译(示例代码)...
  6. 山东省2022 年专升本 计算机大纲(信息安全)
  7. Java: 找不到符号 符号: 类 SpringBootApplication
  8. Python 手写数字识别-1
  9. ZigBee无线网络技术在小区路灯照明系统的应用
  10. Error: EPERM: operation not permitted, unlink 'D:\Sources\**\node_modules\fsevents\node_modules\abbr