当前位置 主页 > 网站技术 > 代码类 >

    Docker的核心及安装的具体使用

    栏目:代码类 时间:2019-11-28 12:06

    一.Docker是什么?

    (1)Docker是在Linux容器里运行应用的开源工具,是一种轻量级的“虚拟机”

    Logo设计为蓝色鲸鱼,鲸鱼可以看作为宿主机,上面的集装箱可以理解为相互隔离的容器,每个集装箱中包含自己的应用程序。

    (2)Docker和虚拟机的区别

    作为一种轻量级的虚拟化方式,Docker 与传统虚拟机相比具有显著的优势。

    Docker之所以拥有众多优势,与操作系统虚拟化自身的特点是分不开的。传统虚拟机需要有额外的虚拟机管理程序和虛拟机操作系统层,而Docker容器是直接在操作系统层面之上实现的虚拟化,
    如图:

    (3)Docker的使用场景

    现在开发者需要能方便地创建运行在云平台上的应用,必须要脱离底层的硬件,同时还需要任何时间地点可获取这些资源,这正是Docker所能提供的。Docker 的容器技术可以在一台主机 上轻松为任何应用创建一个轻量级的、可移植的、自给自足的容器。通过这种容器打包应用程序,意味着简化了重新部署、调试这些琐碎的重复工作,极大地提高了工作效率。

    二.Docker的核心概念及安装

    (1)镜像

    Docker的镜像(mage) 是创建容器的基础,类似虚拟机的快照
    可以理解为是一一个面向Docker容器引擎的只读模板。比如,一个镜像可以是一个完整的 CentOS 操作系统环境,称为-个CentOS
    镜像;可以是一个安装了MySQL的应用程序,称为一个MySQL镜像,等等。

    (2)容器

    Dooker的容器(Container) 是从镜像创建的运行实例。它可以被启动、停止和删除。所创建的每一个容器都是相互隔离、互不可见,可以保证安全性的平台。可以把容器看作一个简易版的Linux环
    境,Docker 利用容器来运行和隔离应用。

    (3)仓库

    Docker仓库(Repository) 是用来集中保存镜像的地方,当创建了自己的镜像之后,可以使用push命令将它上传到公有仓库(Public) 或者私有仓库(Private), 这样一来当 下次要在另外一台机器上使用这个镜像时,只需要从仓库上拉取下来就可以了。

    (4)安装Docker

    主机有网的话可以直接安装,

    配置yum

    [root@localhost ~]# rm -rf /etc/yum.repos.d/*
    
    [root@localhost ~]# vim /etc/yum.repos.d/a.repo
    [aaa]
    name=asd
    baseurl=file:///media
    gpgcheck=0
    [root@localhost ~]# mount /dev/cdrom /media/
    
    [root@localhost ~]# yum -y install docker

    安装完成可以启动Docker,并设置开机自启

    [root@localhost ~]# systemctl start docker
    
    [root@localhost ~]# systemctl enable docker
    
    Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
    [root@localhost ~]# docker version //查看Docker版本
    Client:
     Version:     1.13.1
     API version:   1.26
     Package version: docker-1.13.1-75.git8633870.el7.centos.x86_64
     Go version:   go1.9.4
     Git commit:   8633870/1.13.1
     Built:      Fri Sep 28 19:45:08 2018
     OS/Arch:     linux/amd64
    
    Server:
     Version:     1.13.1
     API version:   1.26 (minimum version 1.12)
     Package version: docker-1.13.1-75.git8633870.el7.centos.x86_64
     Go version:   go1.9.4
     Git commit:   8633870/1.13.1
     Built:      Fri Sep 28 19:45:08 2018
     OS/Arch:     linux/amd64
     Experimental:  false