一、什么是docker

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。

Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

二、docker原理

docker三要素:镜像,容器,仓库。

  1. 镜像

Docker 镜像(Image)就是一个只读的模板,它可以是一个可运行软件(tomcat,mysql),也可以是一个系统(centos)。镜像可以用来创建 Docker 容器,一个镜像可以创建很多容器。

  1. 容器

Docker 利用容器(Container)独立运行的一个或一组应用。容器是用镜像创建的运行实例。它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。可以把容器看做是一个简易版的 Linux 环境(包括root用户权限、进程空间、用户空间和网络空间等)和运行在其中的应用程序。容器的定义和镜像几乎一模一样,也是一堆层的统一视角,唯一区别在于容器的最上面那一层是可读可写的。

  1. 仓库

仓库(Repository)是集中存放镜像文件的场所,类似GitHub存放项目代码一样,只不过Docker Hub是由来存镜像(image)的。仓库(Repository)和仓库注册服务器(Registry)是有区别的。仓库注册服务器上往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签(tag,类似版本号)。

仓库分为公开仓库(Public)和私有仓库(Private)两种形式。

最大的公开仓库是 Docker Hub(https://hub.docker.com/),存放了数量庞大的镜像供用户下载。国内的公开仓库包括阿里云 、网易云 等。

4.镜像与容器关系

docker 面向对象
镜像
容器 对象

三、docker的优点

  1. 简化环境搭建,提高开发效率。
  2. 大大简化运维工作量。
  3. 微服务利器。

四、docker容器与虚拟机区别

Docker容器 虚拟机(VM)
操作系统 与宿主机共享OS 宿主机OS上运行宿主机OS
存储大小 镜像小,便于存储与传输 镜像庞大(vmdk等)
运行性能 几乎无额外性能损失 操作系统额外的cpu、内存消耗
移植性 轻便、灵活、适用于Linux 笨重、与虚拟化技术耦合度高
硬件亲和性 面向软件开发者 面向硬件运维者

docker:轻量级,速度快,运行应用隔离,方便维护。

五、docker安装步骤

1、Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。

通过 uname -r 命令查看你当前的内核版本

$ uname -r

2、使用 root 权限登录 Centos。确保 yum 包更新到最新。

$ yum update

3、卸载旧版本(如果安装过旧版本的话)

$ yum remove docker docker-common docker-selinux docker-engine

4、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的

$ yum install -y yum-utils device-mapper-persistent-data lvm2

5、设置yum源

$ yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

6,安装最新版本的Docker

$ yum install docker-ce docker-ce-cli containerd.io

7,启动Docker并设置开机启动

$ systemctl start docker

$ systemctl enable docker

8,验证Docker

$ docker version
Docker安装篇(一)

安装成功!

9,Docker HelloWorld测试;

$ docker run hello-world
Docker安装篇(一)

本地仓库没有这个镜像,回去远程仓库拉取。

六、阿里云镜像仓库配置

Docker默认远程仓库是 https://hub.docker.com/

如果不配置会从国外的这个默认仓库下载,速度非常慢。

接下来配置阿里云

  1. 进入阿里云地址:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
  2. 找到这个地址

Docker安装篇(一)

  1. 在/etc/docker目录下找到在daemon.json文件(没有就新建),将下面内容写入

    {

    “registry-mirrors”: [“https://xxxxxxx.mirror.aliyuncs.com”]

    }

  2. 重启daemon

    systemctl daemon-reload

  3. 重启docker服务

    systemctl restart docker

  4. 测试

    docker pull tomcat

    拉取的是最新版的tomcat,速度不到一分钟,很给力。
    Docker安装篇(一)

好了,本文结束。

相关文章: