一、docker简介

1.docker是什么?

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

2.docker三要素

仓库镜像容器

三者的关系简述:从仓库拉下镜像文件,由docker实例化出docker容器;

镜像:一种轻量级、可执行的独立软件包,用来打包软件环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容,包括代码、运行时、库、环境变量、配置文件等;

镜像是一个联合文件系统(UnionFS),包含bootfs(boot file system)、rootfs(root file system);docker镜像的最底层是bootfs.这一层包含boot加载器和内核。当boot加载完成之后,整个内容就在内存中了,此时内存的使用权已由bootfs转交给内核,此时系统会卸载bootfs。rootfs(root file system),在bootfs之上。包含的就是典型linux的/dev,/proc,/etc等。

3.docker与虚拟机相比的优势

比较docker与传统虚拟化方式的不同之处:

1.传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整的操作系统,在该系统上在运行所需应用进程;

2.容器内的应用进程直接运行于宿主机的内核,容器内没有内核,而且也没有进行硬件虚拟。因此容器更为轻便;

3.每个容器之间相互隔离。每个容器有自己的文件系统,容器之间进程不会相互影响,能区分计算资源;

二、docker安装(centos 7)

备注:在不同的操作系统下的docker安装,有所不同,可访问官网文档docker-文档

预备条件:升级yumlinux基础命令介绍

sudo yum update

步骤1:yum install -y epel-release

docker在centos 7 上的安装:首先:docker使用epel发布,所以要保证系统有epel包;

yum install -y epel-release

步骤2:sudo yum remove docker docker-common docker-selinux docker-engine

作用:卸载老版本docker(这个是你之前如果安装过老版本的docker)

sudo yum remove docker  docker-common docker-selinux docker-engine

步骤三: sudo yum install -y yum-utils device-mapper-persistent-data lvm2

作用:安装需要的软件包, yum-util 提供yum-config-manager功能,device-mapper-persistent-data与lvm2这两个包是devicemapper驱动依赖的;

步骤四:sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

作用:设置yum源:docker下载url

步骤五:此时,可以查看所有仓库中所有docker版本,并选择特定版本安装

yum list docker-ce --showduplicates | sort -r

步骤六:安装docker

sudo yum install docker-ce  #由于repo中默认只开启stable仓库,故这里安装的是最新稳定19.03.8-3.el7.centos 

sudo yum install <FQPN>  # 例如:sudo yum install docker-ce-19.03.8-3.el7.centos 

步骤七:启动docker:    sudo systemctl start docker

步骤八:验证安装是否成功:docker version

另外,设置【开机自启动docker】:

sudo systemctl enable docker

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐