• Docker Engine和Docker Machine介绍


    Docker Engine和Docker Machine介绍

    [toc]

    1 Docker Engine

    Docker Engine也就是“Docker”,Docker我们一般理解的,都是C/S模型,用户通过docker client向docker daemon发送REST 请求。
    Docker Engine包括这么几个部分:

    • Docker Daemon — docker 的守护进程,属于C/S中的server
    • Docker REST API — docker daemon向外暴露的REST 接口
    • Docker CLI — docker向外暴露的命令行接口(Command Line API)

    Docker Engine组成图

    因此,客户端访问服务端的方式有两种

    • 一种是使用命令行工具,比如docker run, docker ps....
    • 另一种就是直接通过调用REST API,比如发送一个curl http请求

    备注:curl
    curl可以帮你完成你所有在浏览器上的操作,比如登录(这就是传输数据),下载文件,上传文件等等功能

    2 Docker Machine

    官方解释:

    Docker Machine是一个工具,用来在虚拟主机上安装Docker Engine,并使用 docker-machine命令来管理这些虚拟主机

    Docker Engine运行在本地linux系统上。如果你当前的系统是Linux,想在上边运行docker 命令,你只需要下载和安装Docker Egine就完了。然而,如果你想在网络上,云平台上,以及本地创建Docker host,你就需要Docker Machine

    无论是Mac,Windows或是Linux,你都可以在其上安装Docker Machine,使用docker-machine命令来创建和管理大量的Docker hosts。它会自动创建主机,在主机上安装Docker Engine,然后配置docker client。每个被管理的主机(“machine”)都是一个Docker 主机和一个配置过的client的组合。

    官方给的Docker Machine的具体使用场景:

    您可以使用Docker Machine来: 在Mac或Windows上安装并运行Docker 配置和管理多个远程Docker主机 提供Swarm群集

    3 Docker Machine 与 Docker Engine概念上的区别

    Docker Engine: 主要用来接收和处理docker命令请求的
    Docker Machine:则主要用来管理 docker化的host (安装了Docker Engine的主机)

    machine

    通常,你都是在本地安装Docker Machine。Docker Machine包含自己的命令行客户端:docker-machine以及Docker Engine的客户端:docker。你可以使用Machine在一个或多个虚拟机上安装Docker Engine。这些虚拟机可以是在本地,也可以是远程的。这些虚拟化的主机可以被认为是“machine”

    4 使用Docker Machine

    在linux上

    $ curl -L https://github.com/docker/machine/releases/download/v0.13.0/docker-machine-`uname -s`-`uname -m` >/tmp/docker-machine &&
    chmod +x /tmp/docker-machine &&
    sudo cp /tmp/docker-machine /usr/local/bin/docker-machine
    

    检查版本

    $ docker-machine version
    

    卸载Docker Machine

    #删除可执行文件
    $rm $(docker-machine)
    #或者,删除您创建的机器,要单独删除每台机器
    $docker-machine rm <machine-name>
    #要删除所有机器
    $docker-machine rm -f $(docker-machine ls -q)
    
    $docker-machine ls
    $docker-machine create --driver virtualbox default
    $docker-machine env default
    $eval "$(docker-machine env default)"
    $docker-machine ip default
    $docker-machine stop default
    $docker-machine start default
    

    参考

    1 Docker Machine Overview
    2 Docker Machine是什么

    关注公众号 海量干货等你
  • 相关阅读:
    Android随笔
    Android随笔
    Android随笔
    Android随笔
    Android随笔
    Android随笔
    Android随笔
    Android随笔
    Android随笔
    Codeforces Round #551题解
  • 原文地址:https://www.cnblogs.com/sowhat1412/p/12734298.html
Copyright © 2020-2023  润新知