• Docker Machine


    Docker Machine

    http://dockone.io/article/1485?utm_source=tuicool&utm_medium=referral

    本地安装与使用

    Docker工具箱包括专门的工具来帮助开发人员构建现代分布式应用程序。该工具箱用于Windows和Mac系统安装使用Docker Client, Machine, Compose and Kitematic。
    • 这里我们如果要在Windows上使用Docker Machine以及Docker Client,所以需要先下载、安装。

    Docker Toolbox(Windows版)安装指南-Windows版Docker Toolbox(Mac版)安装指南-Mac版
    • 接下来我们以Windows为例,安装完成后可以在桌面上看到如下三个图标:

    桌面图标
    • 点击运行“Docker Quickstart Terminal”来启动一个Docker工具箱终端。

    如果系统显示一个用户帐户控制提示允许VirtualBox更改你的电脑。选择Yes。接下来该终端做几件事为你建立Docker工具箱。当它完成,终端显示提示“$”。如下图:

    完成提示
    • 该终端运行一个特殊的bash环境而不是标准的Windows命令提示符。该bash环境正是Docker所要求的。

    用鼠标点击“$”旁边激活该终端;
    指令:

    docker-machine --version
    

    如果返回结果为

    docker-machine.exe version 0.7.0, build a650a40
    

    或与之类似的信息则说明Machine已成功安装,否则,就需要自己下载Machine并安装。

    如果是在Windows上运行的git bash,安装Docker Machine:
    指令:

    if [[ ! -d "$HOME/bin" ]]; then mkdir -p "$HOME/bin"; fi && 
    curl -L https://github.com/docker/machine/releases/download/v0.7.0/docker-machine-Windows-x86_64.exe > "$HOME/bin/docker-machine.exe" && 
    chmod +x "$HOME/bin/docker-machine.exe"
    

    或者可以直接到Docker Machine Release页面下载安装。如下图:

    下载安装
    如果是 OS X 或 Linux 安装 Docker Machine:
    指令:

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

    查看Docker Machine是否安装成功。
    指令:

    docker-machine --version
    

    结果:

    结果
    - 查看machine列表。

    指令:

    docker-machine ls
    

    结果:

    结果
    - 创建一个machine

    指令:

    docker-machine create --driver virtualbox my-machine
    

    结果:

    结果
    再次查看machine列表,指令:

    docker-machine ls
    

    结果:

    结果
    可以看到我们刚创建的“my-machine”已出现在 machine 的列表当中。
    • 查看 machine 的环境变量的配置信息。

    指令:

    docker-machine env my-machine
    

    结果:

    结果
    - 连接到machine的shell。

    指令:

    eval "$(docker-machine env my-machine)"
    

    结果:
    如果没有任何错误提示说明连接该 machine 成功了,因为该 machine 已安装了docker client,所以此时你可以执行 docker 的相关操作。如查看 Docker 版本
    指令:

    docker --version
    

    结果:

    结果
    - 用 docker run 启动一个容器验证前面的安装和设置没有问题。

    指令:

    docker run busybox echo Hello Docker-Machine!
    

    结果:

    结果
    - 获取指定 machine 的 ip

    指令:

    docker-machine ip my-machine
    

    结果:

    192.168.99.104
    

    - 在容器中运行一个页面服务器(Nginx)

    指令:

    docker run -d -p 9527:80 --name web-server nginx
    

    结果:

    结果
    - 访问上面获取到的 ip 和映射的端口号组成的网址,这里是192.168.99.104:9527

    指令:

    curl $(docker-machine ip my-machine):9527
    

    结果:

    结果
    通过同样的方法你可以创建和管理很多运行着 Docker 的本地 Machine(VMs);只需运行“docker-machine create”指令;而运行“docker-machine ls”则可以显示所有的 machine 组成的列表。
    • 启动和停止 machines

    停止指令:

    docker-machine stop my-machine
    

    启动指令:

    docker-machine start my-machine
    

    - 不指定machine的名称进行操作

    如果不指定 machine 的名称进行操作,则操作的 machine 默认为名称为 default 的 machine。如下图:

    操作default
    docker-machine 的指令列表:
    docker-machine config
    docker-machine env
    docker-machine inspect 
    docker-machine ip 
    docker-machine kill 
    docker-machine provision
    docker-machine regenerate-certs
    docker-machine restart
    docker-machine ssh 
    docker-machine start
    docker-machine status
    docker-machine stop
    docker-machine upgrade
    docker-machine url

    除了名称为 default 的 machine 之外,如果要执行上面的指令,您必须显式地指定machine的名称作为参数。
    • 开机启动本地的machines

    为了确保 Docker Client 自动配置在每个 shell 会话的开始,有些用户喜欢在他们的 shell 配置文件中嵌入eval $(docker-machine env default)(例如“~/.bash_profile”文件)。然而,如果名称为 default 的 machine 没有运行上面方法将会失效。但是您可以配置您的系统,将名称为 default 的 machine 设置为自动启动。当然,你也可以通过替换下面的 default 来将其他 machine 设置为开机启动。
    下面介绍一下在OS X系统中如何配置
    在“~/Library/LaunchAgents”文件夹下创建“com.docker.machine.default.plist”文件,编辑内容为:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
    <plist version="1.0"> 
        <dict>
            <key>EnvironmentVariables</key>
            <dict>
                <key>PATH</key>
                <string>/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin</string>
            </dict>
            <key>Label</key>
            <string>com.docker.machine.default</string>
            <key>ProgramArguments</key>
            <array>
                <string>/usr/local/bin/docker-machine</string>
                <string>start</string>
                <string>default</string>
            </array>
            <key>RunAtLoad</key>
            <true/>
        </dict>
    </plist>
    


    更多信息请参考:
  • 相关阅读:
    Vxlan基础理解
    ODPS基础
    关系型和非关系型数据库的区别?
    交换机的互连技术
    MYSQL 查看最大连接数和修改最大连接数
    Ceph添加/删除Mon(ceph.conf)
    java 线程的几个注解
    UML建模之类图
    单例模式的N种写法
    java工具jar包—Lombok
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/5912565.html
Copyright © 2020-2023  润新知