Docker学习之路 - Docker安装(二)

Docker的安装

前提说明

  1. CentOS Docker 安装
    Docker支持以下的CentOS版本:
    CentOS 7 (64-bit)
    CentOS 6.5 (64-bit) 或更高的版本
  2. 前提条件
    目前,CentOS 仅发行版本中的内核支持 Docker。
    Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。
    Docker 运行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系统为64位、系统内核版本为 2.6.32-431 或者更高版本。
  3. 查看自己的内核
    uname命令用于打印当前系统相关信息(内核版本号、硬件架构、主机名称和操作系统类型等)。
    在这里插入图片描述
  4. 查看已安装的CentOS版本信息(CentOS6.8有,CentOS7无该命令)
    在这里插入图片描述
    在这里插入图片描述

Docker的基本组成

在这里插入图片描述

  1. 镜像
    Docker 镜像(Image)就是一个只读的模板。镜像可以用来创建 Docker 容器,一个镜像可以创建很多容器。
  2. 容器
    Docker 利用容器(Container)独立运行的一个或一组应用。容器是用镜像创建的运行实例。
    它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。
    可以把容器看做是一个简易版的 Linux 环境(包括root用户权限、进程空间、用户空间和网络空间等)和运行在其中的应用程序。
    容器的定义和镜像几乎一模一样,也是一堆层的统一视角,唯一区别在于容器的最上面那一层是可读可写的。
  3. 仓库
    仓库(Repository)是集中存放镜像文件的场所。
    仓库(Repository)和仓库注册服务器(Registry)是有区别的。仓库注册服务器上往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签(tag)。
    仓库分为公开仓库(Public)和私有仓库(Private)两种形式。
    最大的公开仓库是 Docker Hub(https://hub.docker.com/),
    存放了数量庞大的镜像供用户下载。国内的公开仓库包括阿里云 、网易云 等

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

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

安装步骤:

1. CentOS6.8 安装Docker

  1. yum install -y epel-release
    Docker使用EPEL发布,RHEL系的OS首先要确保已经持有EPEL仓库,否则先检查OS的版本,然后安装相应的EPEL包。
  2. yum install -y docker-io在这里插入图片描述
  3. 安装后的配置文件:/etc/sysconfig/docker
    在这里插入图片描述
  4. 启动Docker后台服务:service docker start
  5. docker version验证
    在这里插入图片描述

2. CentOS7安装Docker

https://docs.docker.com/install/linux/docker-ce/centos/

安装步骤
  1. 官网中文安装参考手册
    https://docs.docker-cn.com/engine/installation/linux/docker-ce/centos/#prerequisites
  2. 确定你是CentOS7及以上版本
    cat /etc/redhat-release
  3. yum安装gcc相关
  • CentOS7能上外网
    在这里插入图片描述
  • yum -y install gcc
  • yum -y install gcc-c++
  1. 卸载旧版本
  • yum -y remove docker docker-common docker-selinux docker-engine
  • 2018.3官网版本
    yum remove docker
    docker-client
    docker-client-latest
    docker-common
    docker-latest
    docker-latest-logrotate
    docker-logrotate
    docker-selinux
    docker-engine-selinux
    docker-engine
  1. 安装需要的软件包
    yum install -y yum-utils device-mapper-persistent-data lvm2
  2. 设置stable镜像仓库
  1. 更新yum软件包索引
    yum makecache fast
  2. 安装DOCKER CE
    yum -y install docker-ce
  3. 启动docker
    systemctl start docker
  4. 测试
    docker version
    docker run hello-world
  5. 配置镜像加速
  • mkdir -p /etc/docker
  • vim /etc/docker/daemon.json
    在这里插入图片描述
  • systemctl daemon-reload
  • systemctl restart docker
  1. 卸载
    systemctl stop docker
    yum -y remove docker-ce
    rm -rf /var/lib/docker

永远的HelloWorld

阿里云镜像加速

  1. 是什么
    https://dev.aliyun.com/search.html
  2. 注册一个属于自己的阿里云账户(可复用淘宝账号)
  3. 获得加速器地址连接
  • 登陆阿里云开发者平台
    在这里插入图片描述
  • 获取加速器地址
    在这里插入图片描述
  1. 配置本机Docker运行镜像加速器
    鉴于国内网络问题,后续拉取 Docker 镜像十分缓慢,我们可以需要配置加速器来解决,
    我使用的是阿里云的本人自己账号的镜像地址(需要自己注册有一个属于你自己的): https://xxxx.mirror.aliyuncs.com
    vim /etc/sysconfig/docker
    将获得的自己账户下的阿里云加速地址配置进
    other_args="–registry-mirror=https://你自己的账号加速信息.mirror.aliyuncs.com"
    在这里插入图片描述
  2. 重新启动Docker后台服务:service docker restart
  3. Linux 系统下配置完加速器需要检查是否生效
    如果从结果中看到了配置的–registry-mirror参数说明配置成功,如下所示:
    在这里插入图片描述

网易云加速

基本同上述阿里云
配置Json串的地方不同了:
在这里插入图片描述

{
 "registry-mirrors": ["http://hub-mirror.c.163.com"]
}

启动Docker后台容器(测试运行 hello-world)

  1. docker run hello-world
    在这里插入图片描述
  2. run干了什么
    在这里插入图片描述

底层原理

Docker是怎么工作的

Docker是一个Client-Server结构的系统,Docker守护进程运行在主机上, 然后通过Socket连接从客户端访问,守护进程从客户端接受命令并管理运行在主机上的容器Docker是一个Client-Server结构的系统,Docker守护进程运行在主机上, 然后通过Socket连接从客户端访问,守护进程从客户端接受命令并管理运行在主机上的容器。 容器,是一个运行时环境,就是我们前面说到的集装箱。 容器,是一个运行时环境,就是我们前面说到的集装箱。
在这里插入图片描述

为什么Docker比较比VM快

(1)docker有着比虚拟机更少的抽象层。由亍docker不需要Hypervisor实现硬件资源虚拟化,运行在docker容器上的程序直接使用的都是实际物理机的硬件资源。因此在CPU、内存利用率上docker将会在效率上有明显优势。
(2)docker利用的是宿主机的内核,而不需要Guest OS。因此,当新建一个容器时,docker不需要和虚拟机一样重新加载一个操作系统内核。仍而避免引寻、加载操作系统内核返个比较费时费资源的过程,当新建一个虚拟机时,虚拟机软件需要加载Guest OS,返个新建过程是分钟级别的。而docker由于直接利用宿主机的操作系统,则省略了返个过程,因此新建一个docker容器只需要几秒钟。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值