docker技术生态体系 docker的生命周期_学习

  • 镜像你可以把它看成Java中的类,而容器可以看做是类的实例化对象。
  • 一个类可以有多个对象,同理,一个镜像可以有多个容器。
  • docker的整个生命周期有三部分组成:镜像(image)+容器(container)+仓库(repository)。

docker 容器=镜像+可读层

容器是由镜像实例化而来。

简单来说,镜像是文件,容器是进程。

容器是基于镜像创建的,即容器中的进程依赖于镜像中的文件。

docker 的镜像概念类似虚拟机的镜像。是一个只读的模板,一个独立的文件系统,包括运行容器所需的数据,可以用来创建新的容器。

docker利用容器来运行应用:docker容器是由docker镜像创建的运行实例。

docker容器类似虚拟机,可以执行包含启动,停止,删除等。每个容器间是相互隔离的。容器中会运行特定的运用,包含特定应用的代码及所需的依赖文件。可以把容器看作一个简易版的linux环境(包含root用户权限,进程空间,用户空间和网络空间等)和运行在其中的应用程序。
原文链接:

docker技术生态体系 docker的生命周期_数据_02

在Docker的生命周期中,最核心的两个部分,一个是镜像 Images,一个是容器 Containers。

镜像运行起来就是容器。

容器服务运行的过程中,基于原始镜像做了改变,比如安装了程序,添加了文件,也可以提交回去 (commit)成为镜像。

例如:一个镜像可以包含一个完整的ubuntu操作系统环境,里面仅安装了mysql或用户需要的其他应用程序。

docker镜像实际上是由一层一层的系统文件组成,这种层级的文件系统被称为UnionFS( Union file system  统一文件系统),镜像可以基于dockerfile构建,dockerfile是一个描述文件,里面包含了若干条密令,每条命令都会对基础文件系统创建新的层次结构。
docker提供了一个很简单的机制来创建镜像或更新现有的镜像。用户甚至可以从其他人那里下载一个已经做好的镜像直接使用。(镜像是只读的,可以理解为静态文件)

    相对于镜像来说容器是动态的,容器在启动的时候创建了一层可写层次作为最上层。

(   docker create <image -id > :为指定的镜像添加一个可读写层,构成一个新的容器;)

docker仓库:如果使用了git和github就很容易理解docker的仓库概念。docker仓库概念和git类似。

docker仓库是用来包含镜像的位置,docker提供了一个注册服务器(register)来保存多个仓库,每个仓库又可以包含多个具备不同tag的镜像,

docker运作中使用的默认仓库是docker hub公共仓库。仓库支持的操作类似git,当用户创建了自己的镜像之后就可以使用push命令将它上传到共有或者私有的仓库。这样下次再另外一台机器上使用这个镜像的时候只需要从仓库里面pull下来就可以了。

 

docker技术生态体系 docker的生命周期_docker_03

 拉取镜像:

docker技术生态体系 docker的生命周期_学习_04

 查看镜像:

docker技术生态体系 docker的生命周期_文件系统_05

  导出镜像:docker save -o

docker技术生态体系 docker的生命周期_docker技术生态体系_06

 

docker技术生态体系 docker的生命周期_docker_07

 删除镜像:

docker技术生态体系 docker的生命周期_docker技术生态体系_08

 加载镜像:

docker技术生态体系 docker的生命周期_docker_09

 练习:

docker技术生态体系 docker的生命周期_数据_10

 

docker技术生态体系 docker的生命周期_docker技术生态体系_11

 拉取镜像:

docker技术生态体系 docker的生命周期_文件系统_12

 查看镜像:

docker技术生态体系 docker的生命周期_文件系统_13

 打包镜像:

docker技术生态体系 docker的生命周期_数据_14

 删除镜像:

docker技术生态体系 docker的生命周期_docker_15

 加载镜像:

docker技术生态体系 docker的生命周期_数据_16

容器相关命令:

docker技术生态体系 docker的生命周期_docker技术生态体系_17

docker技术生态体系 docker的生命周期_文件系统_18

 运行容器:

docker技术生态体系 docker的生命周期_学习_19

容器创建产生唯一ID:

docker技术生态体系 docker的生命周期_学习_20

查看容器状态:up

docker技术生态体系 docker的生命周期_docker_21

 访问页面:

docker技术生态体系 docker的生命周期_数据_22

 查看容器日志:

docker技术生态体系 docker的生命周期_数据_23

 持续日志输出:

docker技术生态体系 docker的生命周期_文件系统_24

 总结:

docker技术生态体系 docker的生命周期_docker_25

docker技术生态体系 docker的生命周期_docker技术生态体系_26

 进入容器并查看:

docker技术生态体系 docker的生命周期_docker_27

 查看静态文件位置:

docker技术生态体系 docker的生命周期_docker_28

 进入index.html:

docker技术生态体系 docker的生命周期_docker_29

 修改index.html内容:

docker技术生态体系 docker的生命周期_docker_30

 关闭容器:

docker技术生态体系 docker的生命周期_数据_31

 docker ps -a查看关闭的容器:

docker技术生态体系 docker的生命周期_学习_32

 重新启动容器:

docker技术生态体系 docker的生命周期_学习_33

 删掉容器:

不能直接关掉运行中的容器:

docker技术生态体系 docker的生命周期_docker技术生态体系_34

 -f强制关闭容器:

docker技术生态体系 docker的生命周期_docker_35

 总结:

docker技术生态体系 docker的生命周期_学习_36

 练习:

docker技术生态体系 docker的生命周期_docker_37

启动redis容器:

docker技术生态体系 docker的生命周期_学习_38

 进入容器:

docker技术生态体系 docker的生命周期_学习_39

 

docker技术生态体系 docker的生命周期_docker_40

 添加数据:

docker技术生态体系 docker的生命周期_学习_41

 退出容器:

docker技术生态体系 docker的生命周期_docker技术生态体系_42

 也可以一步执行:

docker技术生态体系 docker的生命周期_docker_43

 数据卷:

docker技术生态体系 docker的生命周期_学习_44

 

docker技术生态体系 docker的生命周期_学习_45

 基本命令:

docker技术生态体系 docker的生命周期_文件系统_46

查看帮助文档:

docker技术生态体系 docker的生命周期_数据_47

 创建数据卷:

docker技术生态体系 docker的生命周期_数据_48

 查看数据卷:

docker技术生态体系 docker的生命周期_学习_49

查看数据卷所在位置: 

删除未使用的数据卷:

 

docker技术生态体系 docker的生命周期_数据_50

删除指定的数据卷:

docker技术生态体系 docker的生命周期_docker_51

总结:

docker技术生态体系 docker的生命周期_学习_52

 

docker技术生态体系 docker的生命周期_docker_53

数据卷挂载到容器中:

docker技术生态体系 docker的生命周期_数据_54

 

docker技术生态体系 docker的生命周期_学习_55

 创建容器:

docker技术生态体系 docker的生命周期_docker_56

 查看数据卷挂载位置:

docker技术生态体系 docker的生命周期_学习_57

 查看目录:

docker技术生态体系 docker的生命周期_docker_58

 没有数据卷会自动创建数据卷:

docker技术生态体系 docker的生命周期_文件系统_59

 总结:

docker技术生态体系 docker的生命周期_docker技术生态体系_60

docker技术生态体系 docker的生命周期_文件系统_61

 导入目录:

docker技术生态体系 docker的生命周期_docker技术生态体系_62

 导入镜像:

docker技术生态体系 docker的生命周期_docker技术生态体系_63

 查看镜像名称:

docker技术生态体系 docker的生命周期_docker_64

 创建目录:

docker技术生态体系 docker的生命周期_docker技术生态体系_65

 上传文件:

docker技术生态体系 docker的生命周期_数据_66

 

docker技术生态体系 docker的生命周期_docker_67

挂载命令:

docker技术生态体系 docker的生命周期_文件系统_68

 查看进程:

docker技术生态体系 docker的生命周期_文件系统_69

对比:

docker技术生态体系 docker的生命周期_学习_70

 

docker技术生态体系 docker的生命周期_docker_71

自定义镜像:

docker技术生态体系 docker的生命周期_docker技术生态体系_72

镜像结构:

docker技术生态体系 docker的生命周期_数据_73

 总结:

docker技术生态体系 docker的生命周期_学习_74

 

docker技术生态体系 docker的生命周期_文件系统_75

 

docker技术生态体系 docker的生命周期_docker_76

 

docker技术生态体系 docker的生命周期_docker_77

 引入数据包:

docker技术生态体系 docker的生命周期_文件系统_78

 在当前目录构建镜像:

docker技术生态体系 docker的生命周期_docker_79

 查看镜像:

docker技术生态体系 docker的生命周期_数据_80

 运行镜像:

docker技术生态体系 docker的生命周期_文件系统_81

 

docker技术生态体系 docker的生命周期_数据_82

 

docker技术生态体系 docker的生命周期_学习_83

 

docker技术生态体系 docker的生命周期_学习_84

docker技术生态体系 docker的生命周期_学习_85

通过这个镜像可以省略JDK的步骤。

重新构建项目:

docker技术生态体系 docker的生命周期_数据_86

 

docker技术生态体系 docker的生命周期_数据_87

 部署微服务集群:

docker技术生态体系 docker的生命周期_docker_88

下载:

docker技术生态体系 docker的生命周期_docker_89

 配置权限:

docker技术生态体系 docker的生命周期_docker技术生态体系_90

 

docker技术生态体系 docker的生命周期_docker_91

 总结:

docker技术生态体系 docker的生命周期_docker_92

 

docker技术生态体系 docker的生命周期_docker_93

 

docker技术生态体系 docker的生命周期_文件系统_94

 

docker技术生态体系 docker的生命周期_文件系统_95

 

docker技术生态体系 docker的生命周期_docker_96

 

docker技术生态体系 docker的生命周期_数据_97

 

docker技术生态体系 docker的生命周期_文件系统_98

 

docker技术生态体系 docker的生命周期_docker技术生态体系_99

 

docker技术生态体系 docker的生命周期_文件系统_100

docker技术生态体系 docker的生命周期_学习_101