zoukankan      html  css  js  c++  java
  • docker基础知识普及(一)

    背景

    这篇内容是之前给部门同事培训时写的文档,旨在传达一些docker相关概念,有个基本印象,当然,以下内容都来自网络,我只是个搬运工。具体操作在下篇文章中

    一、什么是docker?

          1. Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器
          2. 常用于:
              web应用的自动化打包和发布;
              自动化测试和持续集成、发布;
              在服务型环境中部署和调整数据库或其他的后台应用;
              从头编译或者扩展现有的OpenShift或Cloud Foundry平台来搭建自己的PaaS环境
          3.Docker 项目的目标是实现轻量级的操作系统虚拟化解决方案

    二、它与虚拟机有什么不同?

    如上图:左图是虚拟机   右图docker

    虚拟机: 每个虚拟机都包含应用程序,必要的二进制文件和库以及整个客户操作系统。

    容器: 1.容器包括应用程序及其所有依赖项,但与其他容器共享内核,享有虚拟机的资源隔离和分配优势,更加便携和高效
                2.它们在主机操作系统的用户空间中作为独立进程运行

    三、docker特点

    • 轻量:在一台机器上运行的多个 Docker 容器可以共享这台机器的操作系统内核
    • 兼容性:Docker 容器基于开放式标准,能够在所有主流 Linux 版本、Microsoft Windows 以及包括 VM、裸机服务器和云在内的任何基础服务设施上运行;
    • 安全:Docker 赋予应用隔离性,不仅仅限于彼此隔离,还独立于底层的基础设施

    四、核心概念

    • 镜像(image):是一个只读模板,用来运行Docker容器,一个镜像可以创建很多容器
    • 容器(container):容器是从镜像创建的运行实例。负责应用程序的运行,它可以被启动、开始、停止、删除。每个容器都是相互隔离。可以把容器看做是一个简易版的 Linux 环境和运行在其中的应用程序。
    • 标签(tag):标记本地镜像,将其归入某一仓库。
    • 仓库(repository):集中存放镜像文件的场所,分为公开仓库(Public)和私有仓库(Private)最大的公开仓库是 Docker Hub,存放了数量庞大的镜像供用户下载,国内有网易云,阿里云
    • docker file:是文件指令集,用来说明如何自动创建Docker镜像。

    五、Docker 工具箱

    • Docker 引擎:docker引擎是一个c/s结构的应用,主要组件如下图:

    其中:1. Server是一个常驻进程    2. REST API 实现了client和server间的交互协议  3. CLI 实现容器和镜像的管理,为用户提供统一的操作界面 

    • Docker Machine

              docker官方提供的一个可以帮助我们在远程机器上安装docker的工具,或者在虚拟机 host 上直接安装虚拟机并在虚拟机中安装 docker。通过 docker-machine 来管理

    • Docker Registry(仓库注册服务器) 例1

              专门用于存储和分发Docker镜像的开源应用程序。与仓库(repository)不严格区分,实际上Registry往往存放多个仓库

    • Docker Swarm  例2  

              Swarm是Docker官方提供的一款集群管理工具,其主要作用是把若干台Docker主机抽象为一个整体,并且通过一个入口统一管理这些Docker主机上的各种Docker资源。

    • Docker Compose

    例1
    https://hub.docker.com/r/ermao0423/pentesttools/


    例2

    http://172.18.0.130:9396/#/containers

    六、开始学习docker

    • 安装docker
    • 在Docker Hub上浏览镜像
    • 创建自己的镜像并运行它
    • 创建 Docker Hub 账户和镜像仓库
    • 创建一个自己的镜像(docker file)
    • 将你的镜像push到 Docker Hub 供他人使用

    七、常用操作

    1. docker安装部署(官网自行下载或者参考菜鸟教程)
    2. DaoCloud可配置加速器,提升国内网络访问 Docker Hub 的速度
    3. 配置国内镜像源
    4. 查找镜像:docker search
    5. 获取镜像:docker pull
    6. 查看镜像列表:docker images
    7. 利用 Dockerfile 来创建镜像
    8. 上传镜像:docker push
    9. 启动容器:docker start
    10. 进入容器:docker exec
    11. 停止容器:docker stop
    12. 删除容器:docker rm
    13. 运行容器:docker run
    14. 查看容器列表:docker ps
    15. 删除镜像:docker rmi

     docker官方学习网站: https://docs.docker.com/linux/started/

    参考链接:http://www.cnblogs.com/SzeCheng/p/6822905.html

  • 相关阅读:
    把影响集中到一个点
    How to avoid Over-fitting using Regularization?
    适定性问题
    Numerical Differentiation 数值微分
    What Every Computer Scientist Should Know About Floating-Point Arithmetic
    Generally a good method to avoid this is to randomly shuffle the data prior to each epoch of training.
    What is the difference between iterations and epochs in Convolution neural networks?
    Every norm is a convex function
    Moore-Penrose Matrix Inverse 摩尔-彭若斯广义逆 埃尔米特矩阵 Hermitian matrix
    perl 类里的函数调用其他类的函数
  • 原文地址:https://www.cnblogs.com/ermao0423/p/11941370.html
Copyright © 2011-2022 走看看