zoukankan      html  css  js  c++  java
  • 1 docker 介绍和安装

     
     

    1. docker介绍

    1.1 docker产生的背景

    Docker 是云时代的产物,它的诞生是一种必然。
    对于云计算云服务的相关概念,我们不会去阐述。不过如果想了解 Docker,那么必须对云服务的一些运营模式有所了解。
    云服务的运营模式:
    • IaaS(基础设施即服务):经营的是基础设施,比如阿里云服务器(只安装操 作系统)
    • PaaS(平台即服务):经营的是平台,比如 MySQL 开发平台(安装在 linux 里面现成的平台)、redis 开发平台。
    • SaaS(软件即服务):经营的是软件,比如公司的OA系统(部署到远程服务 器中的 OA 软件)
    Docker 就是伴随着 PaaS 产生的。

    1.2 什么是docker

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应 用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。
    docker就是一种虚拟化容器技术
    通过 Docker 这种虚拟化容器技术,我们可以对物理机的资源进行更加合理有效 的利用,可以将一台物理机器虚拟化出很多个拥有完整操作系统,并且相互独立 的“虚拟计算机”。

    1.3 那什么是虚拟化呢?

    在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机 的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来, 打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应 用这些资源。这些资源的新虚拟部分是不受现有资源的架设方式,地域或物理组 态所限制。一般所指的虚拟化资源包括计算能力和资料存储。
    在实际的生产环境中,虚拟化技术主要用来解决高性能的物理硬件产能过剩和老 的旧的硬件产能过低的重组重用,透明化底层物理硬件,从而最大化的利用物理 硬件。
     
    虚拟化技术种类很多,例如:软件虚拟化、硬件虚拟化、内存虚拟化、网络虚拟 化、桌面虚拟化、服务虚拟化、虚拟机等等。
    最常用的虚拟化技术有:全虚拟化和操作系统(OS)虚拟化。
    比如,VMware workstation 就是全虚拟化的实现。
    比如,我们要讲的 Docker,就是基于操作系统虚拟化技术的一种实现。
    基于操作系统创建出一些相互独立的、功能虚拟化技术有多种实现方式,有基于 硬件进行虚拟化的技术,而 Docker 只是针对操作系统进行虚拟化,对于硬件资 源的使用率更低。
    • VMware和docker的对比:
     
    1. 启动速度快,Docker 容器启动操作系统在秒级就可以完成,而 VMware 却是达到分钟级。
    2. 系统资源消耗低,一台 Linux 服务器可以运行成千上百个 Docker 容器,而VMware 大概只能同时运行 10 个左右。
    3. 更轻松的迁移和扩展,由于 Docker 容器比 VMware 占用更少的硬盘空间, 在需要搭建几套软件环境的情况下,对安装好的 Docker 容器进行迁移会更 快捷,更方便。而且 Docker 容器几乎可以在任意的平台上运行,包括虚拟 机、物理机、公有云,私有云,个人电脑等,这种兼容性,可以让用户将一 个应用程序从一个平台直接迁移到另一个平台。

    1.4 docker的体系架构

    • Docker Client客户端
    • Docker Daemon守护进程
    • Docker Image镜像
    • Docker Container容器
     

    1.5 docker中的概念

    • docker守护进程: docker的守护进程运行在一个主机机器中, 用户不直接和守护进程交互, 而是通过docker客户端
    • docker客户端: docker客户端是以二进制的形式出现, 是docker最基本的用户接口, 他用来接收用户的命令, 然后和docker守护进程来沟通
    • docer镜像: docker镜像就是一个可读的模板, 我们可以使用docker镜像来创建docker容器, docker提供了一个简单的机制来创建对象或者更新自己已有的镜像, 也可以从其他人那里下载一个已经做好的镜像来使用.
    • docker容器: 容器是用来运行应用的. 容器是从镜像中创建的运行实例, 它可以被启动, 开始, 停止, 删除. 每一个容器都相互隔离, 保证安全.
    • docker注册处(Registry&Repository): docker注册处保留镜像, 这些是来自于上传或者下载镜像的公众或者私有存储的地方. 公共的docer注册处由docker hub提供.
      • Registry 是集中存放镜像文件的场所
      • Repository 是对于其中的镜像进行分类管理.
      • 一个Registry中会有过个Repository, 一个Repository中会有多个不同tag的Image, 比如: 名称为centos的Repository仓库下, 有tag为6或者7的image镜像

    2. 安装docker

    安装之前要先关闭selinux和firewalld
    systemctl disable firewalld
    docker默认安装的操作系统是ubuntu.
    官网有安装各种环境的指南, 请参考https://docs.docker.com/
    我们主要来说一下centos7.x的安装, 因为这个在服务器上用的是最多的.
     

    2.1 centos7安装新版docker

     

    yum install -y yum-utils device-mapper-persistent-data lvm2
    
    yum-config-manager  --add-repo  https://download.docker.com/linux/centos/docker-ce.repo
    
    yum install docker-ce -y
    
    curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://bc437cce.m.daocloud.io# 设置docker加速器
    systemctl start docker 
    systemctl enable docker 
    docker version #查看版本 
    docker run hello-world #运行一个测试命令
    

      

     

    2.2 配置镜像加速

    mkdir -p /etc/docker
     [root@bogon ~]# cat /etc/docker/daemon.json 
    {"registry-mirrors": ["http://hub-mirror.c.163.com"] } 
    
    systemctl daemon-reload #重新加载服务
    systemctl restart docker 
    再次下载镜像的时候速度会加快
    
  • 相关阅读:
    java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä'.. 问题解决方法
    Mysql存储引擎federated
    实习心语
    Linux版本CentOS、Ubuntu和Debian的异同
    Ubuntu忘记MySQL密码重设方法
    运行时异常和一般异常
    网络爬虫-正方教务系统登录
    大四心语
    缓存更新的套路
    (String)、toString、String.valueOf的区别
  • 原文地址:https://www.cnblogs.com/huningfei/p/12705891.html
Copyright © 2011-2022 走看看