zoukankan      html  css  js  c++  java
  • Docker学习之1—基础及安装

    Docker介绍:

     Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
      Docker是通过内核虚拟化技术(namespaces及cgroups等)来提供容器的资源隔离与安全保障等。由于Docker通过操作系统层的虚拟化实现隔离,所以Docker容器在运行时,不需要类似虚拟机(VM)额外的操作系统开销,提高资源利用率。

     

    Docker三大组件:

    镜像(Image)
    容器(Container)
    仓库(Repository)

     
    镜像介绍:类似于虚拟机,作用和虚拟机是一样的,唯独是组成部分会有些区别。简单的说如果我们想启动一个容器就必须要有镜像

    容器介绍: docker是通过容器来运行业务的,就像运行一个kvm虚拟机是一样的。容器其实就是从镜像创建的一个实例。
      我们可以对容器进行增删改查,容器之间也是相互隔离的。和虚拟机最大的区别就是一个是虚拟的一个是隔离的。
    缺点:不会像虚拟机那样隔离的那么彻底,我们可以将容器理解为简化版的linux,有进程运行在里面。

    仓库介绍: 根据docker的三大理念构建 运输 运行,我们就需要一个仓库来存放镜像
    简单的说:我们将镜像创建完成就需要存放到仓库里面,进行集中式的管理。仓库这点类似于github,docker也有一个dockerhub,他也是一个公共对外的仓库。

    虚拟机和docker的区别

    简单解释,VMware运行在操作系统上,而docker是直接运行在应用上。

    Docker应用场景

    1. 简化配置

    2. 代码流水线(Code Pipeline)管理

    3. 提高开发效率

    4. 隔离应用

    5. 整合服务器

    6. 调试能力

    7. 多租户环境

    8. 快速部署

    Docker对各职能部门的好处

    面向产品:产品交付
    面向开发:简化环境配置
    面向测试:多版本测试
    面向运维:环境一致
    面向架构:自动化扩容(微服务)

    Docker应用场景

    1、应用打包与部署自动化

    构建标准化的运行环境:

    现在大多方案是在物理机和虚拟机上部署运行环境,面临问题是环境杂乱、完整性迁移难度高等问题,容器即开即用。

    2、自动化测试和持续集成/部署

    自动化构建镜像和良好的REST/API,能够很好的集成到持续集成/部署环境来。

    3、部署与弹性扩展

    由于容器是应用级的,资源占用小,弹性扩展部署速度要更快。

    4、微服务

    Docker这种容器化隔离技术,正式应对了微服务理念,将业务模块放到容器中运行,容器的可复用性大大增加了业务模块扩展性。

    下面安装Docker:

    环境:

    [root@controller ~]# cat /etc/redhat-release 
    CentOS Linux release 7.4.1708 (Core) 
    [root@controller ~]# uname -a
    Linux controller 3.10.0-693.5.2.el7.x86_64 #1 SMP Fri Oct 20 20:32:50 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
    

     Docker支持CentOS 6 以上的版本。

    对于CentOS 6 系统需要安装EPEL库,命令如下:

    yum install -y https://mirrors.aliyun.com/epel/epel-release-latest-6.noarch.rpm
    yum install -y doker-io
    

     对于CentOS 7 系统已经内置Docker,可用yum直接安装。命令如下:

    # step 1: 安装必要的一些系统工具
    yum install -y yum-utils device-mapper-persistent-data lvm2 unzip
    # Step 2: 添加软件源信息
    yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    # Step 3: 更新并安装 Docker-CE
    yum makecache fast
    yum -y install docker-ce
    # Step 4: 开启Docker服务
    service docker start
    systemctl enable docker
    [root@controller ~]# docker --version
    Docker version 1.12.6, build 85d7426/1.12.6
    

     配置镜像源及限制日志大小

    [root@cn-hongkong ~]# cat /etc/docker/daemon.json 
    {
    "registry-mirrors": [ "https://registry.docker-cn.com"],
    "insecure-registries":["172.31.182.143"],
    "log-driver":"json-file",
    "log-opts":{ "max-size" :"10m",
                 "max-file":"2"
                }
    }

     

     

  • 相关阅读:
    一些常用的接口地址
    1-项目启动
    事件处理优化
    如何javascript获取css中的样式
    mysql编程--创建函数出错的解决方案
    mysql编程---函数
    mysql---数据控制语言(用户及其权限管理)
    php与mysql的常规使用
    php数组的使用
    php函数的使用
  • 原文地址:https://www.cnblogs.com/Dev0ps/p/7872083.html
Copyright © 2011-2022 走看看