Docker

2021年3月27日 14点热度 0条评论 来源: 1 + 1

Docker

Docker简介

没有Docker,存在什么问题

  1. 一款产品从开发到部署上线,开发人员和运维人员需要协作和关心很多东西,包括操作系统、运行环境和应用配置,尤其是版本迭代和不同版本的兼容问题,都可能带来“开发环境正常运行,部署环境不能正常运行”的问题,这对运维人员是挑战。
  2. 一个应用的配置麻烦,从一台机器到另一台机器,应用都需要重新安装、配置,过程繁琐,费时费力,尤其现在是分布式集群架构,这个问题更为突出。

Docker是什么,能干啥

Docker的理念:“Build, Ship and Run Any App, Anywhere”,即“在任何地方,构建、编译、运行任何应用”!

Docker是用GO语言实现的云开源项目,通过对应用组件的封装、分发、部署、运行等生命周期进行管理,使得用户的应用及其运行环境能够做到“一次构建,随处运行”,大大简化操作!

Docker能够做到“一次构建,随处运行”,它能够带来以下4个好处:

  1. 更快速的应用交付和部署:过去,在开发完成后,开发人员需要提供一堆安装程序和配置说明给运维人员。运维人员需要在安装完成后,再根据配置说明进行一系列繁琐的配置。Docker出现之后,开发人员只需要将应用及其环境和配置,自底向上打包成一个镜像,一个应用对应一个镜像,开发人员只需要将一系列镜像提供给运维人员,运维人员只需要将镜像实例化为容器,然后运行容器即可,相关配置已在镜像中配置完成,运维人员不再需要做繁琐的配置工作,加快了交付和部署工作。
  2. 更便捷的升级和扩缩容:随着微服务架构的发展,大量应用采用分布式部署方式,有了Docker会让应用的升级变得简单,当现有架构无法支撑业务处理时,只需要在新的机器上,通过镜像实例化出一个新的容器,便可以实现快速扩容,使应用系统的升级和扩容从原来的天级变成现在的分钟级甚至秒级!
  3. 更简单的系统运维:通过将应用、环境和配置自底向上打包成一个镜像,实例化为容器运行后,就可以使得开发、测试、生产环境高度一致,不会因为底层基础架构和操作系统的不一致给应用带来影响。当出现问题时,也可以进行快速定位!
  4. 更高效的计算资源利用:Docker容器和传统虚拟机相比,容器内的应用没有自己的内核,只需要有应用运行所需要的库资源和设置,运行于物理机的内核之上,且没有进行硬件模拟,更加轻量级,并且,多个容器实例之间可以独立运行,不会互相影响。因此,一台物理机上面可以运行很多个容器实例,能够大大提高CPU和内存的利用率。

总结:Docker是解决了运行环境和配置问题的软件容器,是方便做持续集成和整体发布的容器虚拟化技术。Docker通过对应用、配置及环境的自底向上打包,打破了过去”程序即应用“的观念,实现了跨平台的无缝接轨运作!

下载地址

Docker官网:http://www.docker.com

Docker中文网站:https://www.docker-cn.com

Docker Hub官网:https://hub.docker.com

Docker安装

前提说明

Docker要求CentOS必须是64位,系统版本在CentOS-6.5及以上,内核必须是2.6.32-431或更高版本!

可通过以下命令分别查看系统版本和内核版本信息:

Docker的基本组成

Docker架构

Docker的架构图如下所示:

Docker的三要素

  • 镜像(image):Docker镜像是一个只读的模板,镜像可以用来创建Docker容器,一个镜像可以创建多个Docker容器。
  • 容器(container):容器是用镜像创建的运行实例,它可以被启动、开始、停止、删除,多个容器之间独立运行,互不影响,还可以把容器看成一个简易版的Linux容器。
  • 仓库(repository):仓库是集中存放镜像的地方,每个仓库可以存放多个镜像,每个镜像有不同的标签(Tag)。镜像又分为公开镜像(public)和私有镜像(private),最大的镜像仓库是Docker Hub,国内的公开仓库包括阿里云、网易云等!
加强理解:
Docker 本身是一个容器运行载体或称之为管理引擎。我们把应用程序和配置依赖打包好形成一个可交付的运行环境,这个打包好的运行环境就似乎 image镜像文件。只有通过这个镜像文件才能生成 Docker 容器。image 文件可以看作是容器的模板。Docker 根据 image 文件生成容器的实例。同一个 image 文件,可以生成多个同时运行的容器实例。
 
image 文件生成的容器实例,本身也是一个文件,称为镜像文件。
一个容器运行一种服务,当我们需要的时候,就可以通过docker客户端创建一个对应的运行实例,也就是我们的容器
至于仓储,就是放了一堆镜像的地方,我们可以把镜像发布到仓储中,需要的时候从仓储中拉下来就可以了。

安装Docker

以下是CentOS-7下安装Docker的方式:

  1. 确定是CentOS-7及以上版本。

  2. yum安装gcc(yum -y install gcc、yum -y install gcc-c++)。

  3. 安装需要的软件包(yum install -y yum-utils device-mapper-persistent-data lvm2)。

  4. 设置stable镜像仓库(yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo)。

  5. 更新yum软件包索引(yum makecache fast)。

  6. 安装docker-ce(yum -y install docker-ce)。

  7. 启动docker(systemctl start docker)。

  8. 测试(docker version)。

  9. 配置镜像加速,首先需要到阿里云开发者中心注册账号(可以是自己的淘宝账号),然后,访问https://promotion.aliyun.com/ntms/act/kubernetes.html#industry,如下即为专属于自己的镜像加速地址

然后找到相应的系统,按要求配置即可,如下:

  1. hello-world,执行docker run hello-world,如下所示:

执行docker run hello_12345678,如下所示:

由此可见,run命令执行的操作流程如下:

    原文作者:1 + 1
    原文地址: https://blog.csdn.net/weixin_42989774/article/details/115262019
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。