zoukankan      html  css  js  c++  java
  • Docker初识

    一、简介

        Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

    二、Docker与虚拟机的比较

        Docker是在操作系统进程层面的隔离,而虚拟机是在物理资源层面的隔离,两者完全不同,另外,我们也可以通过下面的一个比较,了解两者的根本性差异。

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

        从上面的容器与虚拟机的对比中,我们明白了容器技术的优势。

        容器就是一个不错的解决方案,容器能成为开发与运维之间沟通的语言,因为容器就像一个集装箱一样,提供了软件运行的最小化环境,将应用与其需要的环境一起打包成为镜像,便可以在开发与运维之间沟通与传输。我们常常会听到开发人员对运维人员说的这样一句话:“在我的电脑运行没问题,怎么到了你那里就出问题了,肯定是你的问题”,而运维人员则认为是开发人员的问题。通过Docker容器可以解决开发人员与运维人员之间的矛盾。

    三、核心概念

        Docker 包括三个基本概念如下。具体关系如下图所示。

    3.1 镜像(Image)

        Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。   

    3.2 容器(Container)

        镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。

    3.3 仓库(Repository)

        仓库可看着一个代码控制中心,用来保存镜像。

    四、Docker的版本

        Docker分为社区版(CE)和企业版(EE)两个版本,社区版本可以免费使用,而企业版则需要付费使用,对于我们个人开发者或小企业来说,一般是使用社区版的。

        Docker CE有三个更新频道,分别为stable、test、nightly,stable是稳定版本,test是测试后的预发布版本,而nightly则是开发中准备在下一个版本正式发布的版本,我们可以根据自己的需求下载安装。

    五、如何安装

    5.1 安装必要的一些系统工具

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

    5.2 添加软件源信息

    sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

    5.3 更新并安装Docker-CE

    sudo yum makecache fast
    sudo yum -y install docker-ce

    5.4 开启Docker服务

    sudo service docker start

    5.5 查看docker版本

    docker version

    5.6 开启 docker 并设置开机自启动

    systemctl start docker
    symctl enable d

  • 相关阅读:
    zoj 3627#模拟#枚举
    Codeforces 432D Prefixes and Suffixes kmp
    hdu 4778 Gems Fight! 状压dp
    CodeForces 379D 暴力 枚举
    HDU 4022 stl multiset
    手动转一下田神的2048
    【ZOJ】3785 What day is that day? ——KMP 暴力打表找规律
    poj 3254 状压dp
    C++中运算符的优先级
    内存中的数据对齐
  • 原文地址:https://www.cnblogs.com/TechSnail/p/12021303.html
Copyright © 2011-2022 走看看