【学习笔记】开源云计算平台 Docker

1.Docker简介

1.1传统开发流程存在的问题

在这里插入图片描述
为了解决开发人员和运维人员之间的协作关系,加快应用交付速度,越来越多的企业引入了DevOps这一概念。但是,传统的开发过程中,开发、测试、运维是三个独立运作的团队,团队之间沟通不畅,开发运维之间冲突时有发生,导致协作效率低下,产品交付延迟, 影响了企业的业务运行。

  • DevOps(英文Development和Operations的组合)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合
  • 它的出现是由于软件行业日益清晰地认识到:为了按时交付软件产品和服务,开发和运营工作必须紧密合作。

采用Docker技术解决

在这里插入图片描述
Docker技术将应用以集装箱的方式打包交付,使应用在不同的团队中共享,通过镜像的方式,应用可以部署于任何环境中。

容器方式交付的Docker技术支持不断地开发迭代,大大提升了产品开发和交付速度。

1.2Docker简介

Docker——基于容器技术的 轻量级 虚拟化解决方案

Docker是一个构建在LXC(Linux Container容器)之上, 基于进程容器的轻量级VM解决方案,实现了一种应用程序级别的资源隔离及配额。Docker起源于 PaaS提供商dotCloud基于go语言开发,遵从Apache2.0开源协议。

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。

容器是完全使用沙箱机制,相互之间不会有任何接口。

  • 为用户提供了创建和管理容器的便捷界面(包括命令行和API)。
  • 微软,红帽Linux,IBM,Oracle等主流IT 厂商已经在自己的产品里增加对Docker的支持。
  • Google 每周启动超过20亿个容器进行业务服务,于上个世纪90年代已经开始大规模使用容器技术。

1.3Docker VS 虚拟机

在这里插入图片描述

在这里插入图片描述

1.4Docker的应用场景

在这里插入图片描述

1.5Docker给我们带来的好处

在这里插入图片描述

2. Docker基本概念及架构

2.1Docker的三个组件:镜像、容器、仓库

在这里插入图片描述
Docker的三个组件:

  • Docker镜像 是用于创建 Docker 容器的模板
  • .Container容器 是独立运行的一个或一组应用,是镜像运行时的实体。
  • Docker仓库 用来保存镜像,可以理解为代码控制中的代码仓库。

镜像与容器的关系:

  • 镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。

2.2Docker架构

在这里插入图片描述

2.3Docker run 运行流程图

在这里插入图片描述
一个完整的Docker有以下四部分组成:

  • DockerClient客户端
  • Docker Daemon守护进程
  • Docker Image镜像
  • DockerContainer容器

3.Docker小结

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。

  • image文件生成的容器实例,本身也是一个文件,称为镜像文件;
  • 一个容器运行一种服务,当我们需要的时候,就可以通过docker客户端创建一个对应的运行实例,也就是我们的容器;
  • 至于仓库,就是放了一堆镜像的地方,我们可以把镜像发布到仓库中,需要的时候从仓库中拉下来就可以了。

4.安装Docker和使用

4.1安装准备

Docker 的安装和使用有一些前提条件,主要体现在体系架构和内核的支持上。对于体系架构,除了 Docker 一开始就支持的 X86-64 ,其他体系架构的支持则一直在不断地完善和推进中。

  • Docker 分为 CE 和 EE 两大版本。 CE 即社区版(免费,支持周期 7 个月), EE 即企业版,强调安全,付费使用,支持周期 24 个月。
  • 我们在安装前可以参看官方文档获取最新的 Docker 支持情况,官方文档在这里:https://docs.docker.com/install/
  • Docker 对于内核支持的功能,即内核的配置选项也有一定的要求(比如必须开启 Cgroup 和 Namespace 相关选项,以及其他的网络和存储驱动等), Docker 源码中提供了一个检测脚本来检测和指导内核的配置,脚本链接在这里:https://raw.githubusercontent.com/docker/docker/master/contrib/check-config.sh
  • 在满足前提条件后,安装就变得非常的简单了。

4.2Docker使用

4.2.1Docker命令图

在这里插入图片描述

4.4.2安装与启动Docker

  • Docker 软件包已经包括在默认的 CentOS-Extras 软件源里。
  • 因此想要安装 docker,只需要运行下面的 yum 命令。
  • 在Linux上直接运行:sudo yum install docker

当然在测试或开发环境中 Docker 官方为了简化安装流程,提供了一套便捷的安装脚本,CentOS 系统上可以使用这套脚本安装:

curl -fsSL get.docker.com -o get-docker.sh

sh get-docker.sh

执行这个命令后,脚本就会自动的将一切准备工作做好,并且把 Docker CE 的 Edge 版本安装在系统中。

  • 安装完成后,运行下面的命令,验证是否安装成功:docker versiondocker info返回docker的版本相关信息,证明 docker 安装成功。
  • 启动Docker-CE:sudo systemctl enable docker(开机启动)sudo systemctl start docker

4.2.3Docker常用命令

https://www.runoob.com/docker/docker-command-manual.html
http://www.cnblogs.com/DeepInThought/p/10896790.html
在这里插入图片描述

4.2.4Docker容器信息

查看 docker 容器版本:docker version
查看 docker 容器信息:docker info
查看 docker 容器帮助:docker --help

4.2.5镜像操作

镜像查看

提示:对于镜像的操作可使用镜像名、镜像长ID和短ID。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

镜像搜索

在这里插入图片描述

镜像下载

在这里插入图片描述

镜像删除

在这里插入图片描述

镜像构造

在这里插入图片描述

4.2.6容器操作

提示:对于容器的操作可使用CONTAINER 或 NAMES。

容器启动

在这里插入图片描述

容器进程

在这里插入图片描述

容器日志

在这里插入图片描述

容器的进入与退出

在这里插入图片描述

查看容器

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

容器的停止与删除

在这里插入图片描述

生成镜像

在这里插入图片描述

容器与主机间的数据拷贝

在这里插入图片描述

5.Docker的简单运用——Hello World

查看Docker 版本
在这里插入图片描述
启动Docker
在这里插入图片描述
将名为 hello-world 的 image 文件从仓库抓取到本地
在这里插入图片描述
抓取成功以后,就可以在本机看到这个 image 文件了
在这里插入图片描述
运行 hello-world 这个 image 文件
在这里插入图片描述

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值