1 Docker 的概念、安装和如何开始使用

    xiaoxiao2021-12-14  19

    Docker,一种新的容器化技术,因为轻量级和便携化而受到广泛关注。Docker 和 Java 一样,号称“一次构建,一次配置,即可到处运行”(build once, configure once and run anywhere)

    Docker 的特点

    所有介绍一种新语言、新技术的文章开头都会介绍该技术的出众之处,本篇文章也不例外。作为当前捧得比较红的虚拟化技术,Docker 的特色包括但不仅限于:

    飞快的运行速度和优雅的抽象框架廉价低 CPU 和内存使用启动、关闭速度快可以用来作为云计算的基础

    Docker 组件/原理

    Docker 有基本组件和元素各三个:

    Docker Client实际上是 docker 的二进制程序,是主要的用户与 Docker 交互方式。它接收用户指令并且与背后的 Docker 守护进程通信Docker 守护进程Docker 守护进程运行在一台主机上。用户并不直接和守护进程进行交互,而是通过 Docker 客户端间接和其通信Docker 仓库Docker 仓库用来保存镜像,可以理解为代码控制中的代码仓库。同样的,Docker 仓库也有公有和私有的概念。公有的 Docker 仓库名字是 Docker Hub。Docker Hub 提供了庞大的镜像集合供使用。这些镜像可以是自己创建,或者在别人的镜像基础上创建。Docker 仓库是 Docker 的分发部分。Docker 容器Docker 容器和文件夹很类似,一个Docker容器包含了所有的某个应用运行所需要的环境。每一个 Docker 容器都是从 Docker 镜像创建的。Docker 容器可以运行、开始、停止、移动和删除。每一个 Docker 容器都是独立和安全的应用平台,Docker 容器是 Docker 的运行部分。Docker 镜像Docker 镜像是 Docker 容器运行时的只读模板,每一个镜像由一系列的层 (layers) 组成。Docker 使用 UnionFS 来将这些层联合到单独的镜像中。UnionFS 允许独立文件系统中的文件和文件夹(称之为分支)被透明覆盖,形成一个单独连贯的文件系统。正因为有了这些层的存在,Docker 是如此的轻量。当你改变了一个 Docker 镜像,比如升级到某个程序到新的版本,一个新的层会被创建。因此,不用替换整个原先的镜像或者重新建立(在使用虚拟机的时候你可能会这么做),只是一个新 的层被添加或升级了。现在你不用重新发布整个镜像,只需要升级,层使得分发 Docker 镜像变得简单和快速。DockerFile:进行镜像创建的指令文件。

    n

    Docker 两个主要部件:

    Docker: 开源的容器虚拟化平台Docker Hub: 用于分享、管理 Docker 容器的 Docker SaaS 平台 -- Docker Hub

    Docker 使用客户端-服务器 (C/S) 架构模式。Docker 客户端会与 Docker 守护进程进行通信。Docker 守护进程会处理复杂繁重的任务,例如建立、运行、发布你的 Docker 容器。Docker 客户端和守护进程可以运行在同一个系统上,当然你也可以使用 Docker 客户端去连接一个远程的 Docker 守护进程。Docker 客户端和守护进程之间通过 socket 或者 RESTful API 进行通信。

    在学习 Docker 组件之前,先来看一下 Docker 底层到底是由什么组成的:

    Namespace:隔离技术的第一层,确保 Docker 容器内的进程看不到也影响不到 Docker 外部的进程。Control Groups:LXC 技术的关键组件,用于进行运行时的资源限制。UnionFS(文件系统):容器的构件块,创建抽象层,从而实现 Docker 的轻量级和运行快速的特性。

    关于 CGroup 和 namespace,可以参考酷壳的这两篇文章: Docker基础技术:Linux Namespace(上) Docker基础技术:Linux Namespace(下) Docker基础技术:Linux CGroup

    安装:

    Docker 要求 Ubuntu 系统的内核版本高于 3.10,通过 uname -r 命令查看你当前的内核版本:

    [root@bogon ~]# uname -r 3.10.0-327.22.2.el7.x86_64

    Docker支持以下的CentOS版本:

    CentOS 7 (64-bit)

    CentOS 6.5 (64-bit) 或更高的版本

    Docker 支持以下的 Ubuntu 版本:

    Ubuntu Precise 12.04 (LTS)

    Ubuntu Trusty 14.04 (LTS)

    Ubuntu Wily 15.10

    其他更新的版本……

    Linux安装

    curl -fsSL https://get.docker.com/ | sh # daocloud.io 国内镜像 curl -sSL https://get.daocloud.io/docker | sh

    该安装包适用于 Ubuntu,Debian,Centos 等大部分主流 Linux 发行版。

    CentOS7支持使用yum安装:

    yum update yum install docker 安装完成之后  docker info 可以查看docker 版本信息 docker 本身注册成了一个linux 服务,可以通过以下命令管理 docker 服务:  启动服务 :service docker start  或者systemctl start docker  , service docker start 实际上是执行了 /bin/systemctl start docker.service  重启服务 : systemctl daemon-reload 或者 systemctl restart docker.service 停止服务  :service docker stop 须知:

    本机安装完成之后 ,本机上就有了 docker 客户端 和 docker 守护进程 ,

    docker 客户端 可以向本机的docker 守护进程发起命令请求,

    也可以向远程主机的docker 守护进程发起请求。

    然后我们用docker 客户端发起命令

    1  创建镜像,下载镜像,push镜像等的操作

    2  创建容器,启动容器,暂停容器,停止容器。

    当然这些命令都是 守护进程 接收 ,然后操作或者转发。

    镜像注册中心 是在远程的他人服务器上。

    本地可以存储远程下载的镜像,可以存储自己创建的镜像,

    可以存储创建镜像的docker file

    可以存储容器。

    转载请注明原文地址: https://ju.6miu.com/read-968470.html

    最新回复(0)