Docker Machine
Docker Machine
http://dockone.io/article/1485?utm_source=tuicool&utm_medium=referral
本地安装与使用
- 这里我们如果要在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。如下图:
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>
更多信息请参考:
Docker Machine的更多相关文章
- Docker Machine v1.11.2安装与使用
官方文档:Docker Machine 官方文档:Docker Toolbox boot2docker安装包官网下载链接:Docker Toolbox-1.11.1b.exe 此安装包包含的“boot ...
- Docker Machine, Compose, and Swarm: How They Work Together
The three tools are now neatly packaged into what’s called the Docker Toolbox. Docker Machine1/ crea ...
- [Docker] Docker Machine intro
List all the docker machine: docker-machine ls Can check 'ip' and 'status': docker-machine ip defaul ...
- Docker Machine 简介
Docker Machine 是什么? Docker Machine 是 Docker 官方提供的一个工具,它可以帮助我们在远程的机器上安装 Docker,或者在虚拟机 host 上直接安装虚拟机并在 ...
- Docker Machine 详解
笔者在<Docker Machine 简介>一文中简单介绍了 Docker Machine 及其基本用法,但是忽略的细节实在是太多了.比如 Docker 与 Docker Machine ...
- 用 Docker Machine 创建 Azure 虚拟主机
搭建环境向来是一个重复造轮子的过程,Docker Machine 则把用户搭建 Docker 环境的各种方案汇集在了一起.笔者在<Docker Machine 简介>一文中演示了使用 Do ...
- 安装 Docker Machine - 每天5分钟玩转 Docker 容器技术(45)
前面我们的实验环境中只有一个 docker host,所有的容器都是运行在这一个 host 上的.但在真正的环境中会有多个 host,容器在这些 host 中启动.运行.停止和销毁,相关容器会通过网络 ...
- Docker教程:docker machine的配置和命令
http://blog.csdn.net/pipisorry/article/details/50921335 安装virtualbox 如果要使用virtualbox,首先要安装virtualbox ...
- Docker Machine搭建并加入节点
对于集群服务器来讲,要在每台机器上手动安装Docker是一件及其痛苦的事情,还好有Docker Machine这一工具,Docker三剑客中的一角. 一.Docker Machine介绍 这个工具已经 ...
随机推荐
- java接口相关例题
java接口相关习题 interface Graphics{ //接口里面只能用抽象方法 public abstract double area(); }//设置 平面类class Plan ...
- win8笔记本无法搜索wifi信号找不到WLAN该 wifi共享特别注意的服务
WlansvcWLAN AutoConfigWLANSVC 服务提供配置.发现.连接.断开与 IEEE 802.11 标准定义的无线局域网(WLAN)的连接所需的逻辑.它还包含将计算机变成软件访问点的 ...
- iOS 利用Socket UDP协议广播机制的实现
1.前言 什么是UDP协议广播机制? 举一个例. 比如在一群人群中,一个人要找张三,于是你向人群里大喊一声(广播):"谁是张三" 假设它是张三,它就会回应你.在网络中也是一样的. ...
- 微软Office与金山WPS Office有何私密关系?
新浪科技讯,9月1日午间消息,国家工商总局在其官网公布消息称.对微软公司副总裁陈实进行反垄断调查询问,要求微软就其综合情况以及企业反映的微软公司Windows操作系统和Office办公软件相关信息没有 ...
- mybatis08
Mybatis解决jdbc编程的问题 .数据库链接创建.释放频繁造成系统资源浪费从而影响系统性能,如果使用数据库链接池可解决此问题. 解决:在SqlMapConfig.xml中配置数据链接池,使用连接 ...
- 运行codeblocks时出现的问题解决
When I try running Code::Blocks, I get the following error message: Another program instance is alre ...
- classpath多个包添加
转的: 把某目录下的所有子目录和子目录下面的下层和更下层目录也添加到CLASSPATH里面,更具需求写了两句,发上来分享,备忘. 在Linux下可以通过这样的方法把/opt/.../lib目录下的所有 ...
- hdu2049.java
hdu 2049 不容易系列之(4)——考新郎 (组合+错排) 国庆期间,省城HZ刚刚举行了一场盛大的集体婚礼,为了使婚礼进行的丰富一些,司仪临时想出了有一个有意思的节目,叫做"考新郎&qu ...
- linux中的网络通信指令 分类: 学习笔记 linux ubuntu 2015-07-06 16:02 134人阅读 评论(0) 收藏
1.write write命令通信是一对一的通信,即两个人之间的通信,如上图. 效果图 用法:write <用户名> 2.wall wall指令可将信息发送给每位同意接收公众信息的终端机用 ...
- Sliverlight linq中的数组筛选数据库中的数据
首先 什么是linq呢 ? LINQ即Language Integrated Query(语言集成查询),LINQ是集成到C#和Visual Basic.NET这些语言中用于提供查询数据能力的一个新特 ...