[docker] 介绍,安装

docker

  1. Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口。

  2. Linux 容器是 Linux 发展出了另一种虚拟化技术, Linux 容器不是模拟一个完整的操作系统,而是对进程进行隔离,相当于是在正常进程的外面套了一个保护层。对于容器里面的进程来说,它接触到的各种资源都是虚拟的,从而实现与底层系统的隔离。

  3. Docker 将应用程序与该程序的依赖,打包在一个文件里面。运行这个文件,就会生成一个虚拟容器。程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样。有了 Docker ,就不用担心环境问题。

Docker的优势

Docker相比于传统虚拟化方式具有更多的优势:

特性 容器 虚拟机
启动 秒级 分钟级
硬盘使用 一般为MB 一般为GB
性能 接近原生 弱于
系统支持量 单机支持上千个容器 一般是几十个

注意:虚拟机相比, docker 隔离性更弱, docker 属于进程之间的隔离,虚拟机可实现系统级别隔离

安装

[docker] 介绍,安装_第1张图片

  1. 确定是CentOS7以上版本

    # 查看CentOS版本命令
    cat /etc/redhat-release
    
  2. 卸载旧版本

    yum remove docker \
    						docker-client \
    						docker-client-latest \
    						docker-common \
    						docker-latest \
    						docker-latest-logrotate \
    						docker-logrotate \
    						docker-engine	
    
  3. yum安装gcc相关命令

    # yum安装gcc相关命令
    yum -y install gcc
    yum -y install gcc-c++
    
  4. 安装需要的软件包

    yum install -y yum-utils
    
  5. 设置stable镜像仓库

    # 推荐使用 使用阿里的 docker 镜像仓库,国外的镜像仓库是比较慢的
    yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
  6. 更新yum软件包索引

    # 更新yum软件包索引
    yum makecache fast
    
  7. 安装DOCKER CE 引擎(CE是社区版,EE是企业版)

    yum -y install docker-ce docker-ce-cli containerd.io
    
  8. 启动docker

    systemctl start docker
    
  9. 测试

    # 测试
    docker version 
    
    # docker会去docker hub拉取 hello-world镜像
    docker run hello-world 
    
  10. 补充卸载命令:

    # 卸载命令
    systemctl stop docker 
    yum remove docker-ce docker-ce-cli containerd.io
    rm -rf /var/lib/docker
    rm -rf /var/lib/containerd
    

阿里云镜像加速

  1. 容器镜像服务
    [docker] 介绍,安装_第2张图片

  2. copy命令
    [docker] 介绍,安装_第3张图片

    # 或者分开步骤执行
    mkdir -p /etc/docker
    vim /etc/docker/daemon.json
    
    # json文件内容:
    { 
      "registry-mirrors": ["https://aa25jngu.mirror.aliyuncs.com"] 
    } 
    
  3. 重启服务器

# 重启服务器
systemctl daemon-reload
systemctl restart docker
  1. 再次测试
# 命令
docker run hello-world

底层原理

为什么Docker会比VM虚拟机快:

(1) docker有着比虚拟机更少的抽象层
由于docker不需要Hypervisor(虚拟机)实现硬件资源虚拟化,运行在docker容器上的程序直接使用的都是实际物理机的硬件资源。因此在CPU、内存利用率上docker将会在效率上有明显优势。

(2) docker利用的是宿主机的内核,而不需要加载操作系统OS内核
当新建一个容器时,docker不需要和虚拟机一样重新加载一个操作系统内核。进而避免引寻、加载操作系统内核返回等比较费时费资源的过程,当新建一个虚拟机时,虚拟机软件需要加载OS,返回新建过程是分钟级别的。而docker由于直接利用宿主机的操作系统,则省略了返回过程,因此新建一个docker容器只需要几秒钟。

[docker] 介绍,安装_第4张图片

你可能感兴趣的:(docker,docker)