• Docker的安装


    目录

    一、Docker的基本组成

    三要素:

    镜像:

    容器:

    仓库:

    二、Docker的平台架构

    三、Docker安装步骤


    一、Docker的基本组成

    三要素:

    镜像:

            Docker的镜像就是一个只读的模板。镜像可以用来创建Docker容器,一个镜像可以创建很多容器。他也相当于是一个root文件系统。比如官方镜像Centos7就包含了一套完整centos最小系统的root文件系统。就相当于容器的源代码,docker镜像文件类似于JAVA的类模板,而docker容器实例类似于java中new出来的实例对象。

    容器:

    从镜像容器角度

            可以把容器看做是一个简易版的Linux环境(包括root用户权限、进程空间、用户空间和网络空间等)和运行在其中的应用程序

    从面向对象角度

            Docker利用容器独立运行的一个或一组应用,应用程序或服务运行在容器里面,容器就类似于一个虚拟化的运行环境,容器是镜像场景的运行实例。镜像是静态的定义,容器是镜像运行时的实体。容器为镜像提供了一个标准的和隔离的运行环境,他可以被启动,开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。

    仓库:

            仓库是集中存放镜像文件的场所。仓库分为公开仓库和私有仓库;最大的公开仓库是 Docker Hub(https://hub.docker.com/),存放了数量庞大的镜像供用户下载。国内的公开仓库包括阿里云 、网易云等

              Docker通过客户端可以连接到主机的docker引擎的后台程序daemon,运行时,如果本地有镜像,可以通过镜像直接运行一个容器,如果本地没有,docker引擎程序则去远程仓库上(docker hub)拉取一个镜像。

            Docker是一个Client-Server结构的系统,Docker守护进程运行在主机上, 然后通过Socket连接从客户端访问,守护进程从客户端接受命令并管理运行在主机上的容器。 容器,是一个运行时环境,就是我们前面说到的集装箱。类似于MySQL;主机上启动之后,服务中会出现一个MySQL进程(类比于docker守护进程),我们使用Navicat客户端(类比于docker客户端)连接到数据库;执行SQL脚本生成SQL语句(类比于docker使用镜像生成各种容器)。

    总结:Docker 本身是一个容器运行载体或称之为管理引擎。我们把应用程序和配置依赖打包好形成一个可交付的运行环境,这个打包好的运行环境就是image镜像文件。只有通过这个镜像文件才能生成Docker容器实例。image文件可以看作是容器的模板。Docker 根据 image 文件生成容器的实例。同一个 image 文件,可以生成多个同时运行的容器实例。

    二、Docker的平台架构

     

            Docker 是一个 C/S 模式的架构,后端是一个松耦合架构,众多模块各司其职。

    1.用户是使用Docker Client与 Docker Daemon建立通信,并发送请求给后者。

    2.Docker Daemon作为Docker架构中的主体部分,首先提供 Docker Server的功能使其可以接受Docker Client 的请求。

    3.Docker Engine执行Docker 内部的一系列工作,每一项工作都是以一个Job 的形式的存在。

    4.Job 的运行过程中,当需要容器镜像时,则从Docker Registry中下载镜像,并通过镜像管理驱动Graph driver将下载镜像以Graph的形式存储。

    5.当需要为Docker创建网络环境时,通过网络管理驱动Network driver创建并配置Docker容器网络环境。

    6.当需要限制Docker容器运行资源或执行用户指令等操作时,则通过Exec driver来完成。

    7.Libcontainer是一项独立的容器管理包,Network driver以及Exec driver都是通过Libcontainer来实现具体对容器进行的操作。

    三、Docker安装步骤

    1.确认Centos7及以上版本

    2.安装gcc编译环境相关

    1. [root@localhost ~]# yum install gcc -y
    2. [root@localhost ~]# yum install gcc-c++ -y

    3.安装所需软件包

    [root@localhost ~]# yum install yum-utils -y

    4.设置stable镜像仓库。

    [root@localhost~]#yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

     5.更新yum软件包索引

    [root@localhost ~]# yum makecache fast

    6.安装Docker CE

    [root@localhost ~]# yum install docker-ce docker-ce-cli containerd.io -y

    7.启动docker

    [root@localhost ~]# systemctl start docker

    8.测试:

    1. [root@localhost ~]# docker version
    2. [root@localhost ~]# docker run hello-world

     9.卸载

    1. [root@localhost ~]# docker run hello-world
    2. [root@localhost ~]# yum remove docker-ce docker-ce-cli containerd.io
    3. [root@localhost ~]# rm -rf /var/lib/docker/
    4. [root@localhost ~]# rm -rf /var/lib/containerd/

  • 相关阅读:
    自动激光分板系统(自动PCB激光分板系统)市场现状分析
    (Mysql高级语句(进阶查询语句+数据库函数+连接查询))
    CSS-盒子模型-内容,边框,内边距,外边距,(合并,塌陷情况)
    强啊,点赞业务缓存设计优化探索之路。
    Zero-Shot 使用简单两层网络不用训练就能进行图像恢复
    高等数学(第七版)同济大学 习题7-9 个人解答
    【Nano Framework ESP32篇】使用 LCD 屏幕
    算法---螺旋矩阵
    2.5 数字传输系统
    LeetCode 面试题 16.25. LRU 缓存
  • 原文地址:https://blog.csdn.net/weixin_43997530/article/details/126453394