1》使用的driver

1〉generic

使用带有SSH的现有VM/主机创建机器。

如果你使用的是机器不直接支持的provider,或者希望导入现有主机以允许Docker Machine进行管理,那么这一点非常有用。
驱动程序(driver)在create命令上执行以下任务列表:

  • 如果docker不在主机上运行,它将被自动安装
  • 更新主机包(apt-get更新,yum更新…)
  • 它生成证书来保护docker守护进程
  • 如果主机使用systemd,它将创建/etc/systemd/system/docker.service.d/10-machine.conf
  • docker守护进程重新启动,从而停止所有正在运行的容器
  • 主机名被更新以适应机器名

选项:

userdeMBP:~ user$ docker-machine create --driver generic --help
...
//下面是得到的是多出的与--driver generic相关的参数
--generic-engine-port "2376" Docker engine port [$GENERIC_ENGINE_PORT] docker引擎端口,默认为2376
--generic-ip-address IP Address of machine [$GENERIC_IP_ADDRESS] 机器的IP地址
--generic-ssh-key SSH private key path (if not provided, default SSH key will be used) [$GENERIC_SSH_KEY]
SSH私钥路径(如果没有提供,默认的SSH私钥将会被使用)
--generic-ssh-port "22" SSH port [$GENERIC_SSH_PORT] SSH端口,默认为22
--generic-ssh-user "root"       SSH user [$GENERIC_SSH_USER] SSH用户名,默认为roo

Sudo privileges :可以使用--generic-ssh-user标志指定用于SSH到主机的用户。该用户需要无密码的sudo特权。如果不是这样,则需要编辑sudoers文件并使用NOPASSWD将用户配置为sudoer。见https://help.ubuntu.com/community/Sudoers。

Systemd设置 : 对于使用systemd的系统,如果你有一个在 /etc/systemd/system/docker.service中定义的现有配置,这可能与docker-machine创建的设置冲突。确保在这个位置上没有任何其他配置文件覆盖[ExecStart]设置。一旦确认删除了任何冲突设置,请运行sudo systemctl daemon reload,然后再运行sudo systemctl restart docker

例子:

要创建机器实例,需要指定--driver generic、主机的IP地址或DNS名称以及授权连接主机的SSH私钥的路径。

docker-machine create -d generic 运行的波折过程及遇见的问题

2> virtualbox

使用VirtualBox在本地创建机器

   --virtualbox-boot2docker-url
      The URL of the boot2docker image. Defaults to the latest available version [$VIRTUALBOX_BOOT2DOCKER_URL]
boot2docker镜像的URL。默认为最新的可用版本
--virtualbox-cpu-count "1"
      number of CPUs for the machine (-1 to use the number of CPUs available) [$VIRTUALBOX_CPU_COUNT]
机器的cpu数量.默认为1(设置为-1,则使用可用的cpu数量)
--virtualbox-disk-size "20000"
      Size of disk for host in MB [$VIRTUALBOX_DISK_SIZE] 主机的磁盘大小,以兆为单位。默认为20000
--virtualbox-host-dns-resolver
      Use the host DNS resolver [$VIRTUALBOX_HOST_DNS_RESOLVER] 使用主机DNS解析器
--virtualbox-hostonly-cidr "192.168.99.1/24"
      Specify the Host Only CIDR [$VIRTUALBOX_HOSTONLY_CIDR] 只指定CIDR格式的主机地址,默认为192.168.99.1/24
--virtualbox-hostonly-nicpromisc "deny"
      Specify the Host Only Network Adapter Promiscuous Mode [$VIRTUALBOX_HOSTONLY_NIC_PROMISC]
指定主机唯一网络适配器混杂模式
--virtualbox-hostonly-nictype "82540EM"
      Specify the Host Only Network Adapter Type [$VIRTUALBOX_HOSTONLY_NIC_TYPE]
指定仅主机的网络适配器类型,默认为82540EM
--virtualbox-hostonly-no-dhcp
      Disable the Host Only DHCP Server [$VIRTUALBOX_HOSTONLY_NO_DHCP] 只禁用主机DHCP服务器
--virtualbox-import-boot2docker-vm
      The name of a Boot2Docker VM to import [$VIRTUALBOX_BOOT2DOCKER_IMPORT_VM]
要导入的Boot2Docker虚拟机的名字
--virtualbox-memory "1024"
      Size of memory for host in MB [$VIRTUALBOX_MEMORY_SIZE] 主机的内存大小,以兆为单位,默认为1024
--virtualbox-nat-nictype "82540EM"
      Specify the Network Adapter Type [$VIRTUALBOX_NAT_NICTYPE] 指定网络适配器类型,默认为82540EM
--virtualbox-no-dns-proxy
      Disable proxying all DNS requests to the host [$VIRTUALBOX_NO_DNS_PROXY]
      禁用代理所有DNS请求到主机
--virtualbox-no-share
      Disable the mount of your home directory [$VIRTUALBOX_NO_SHARE] 禁用你主目录的挂载
--virtualbox-no-vtx-check
      Disable checking for the availability of hardware virtualization before the vm is started [$VIRTUALBOX_NO_VTX_CHECK]
在启动vm之前禁用硬件虚拟化可用性检查
--virtualbox-share-folder
      Mount the specified directory instead of the default home location. Format: dir:name [$VIRTUALBOX_SHARE_FOLDER]
装入指定的目录,而不是默认的主位置。格式为:目录:名字
--virtualbox-ui-type "headless"
      Specify the UI Type: (gui|sdl|headless|separate) [$VIRTUALBOX_UI_TYPE] 指定UI类型,默认为headless

--virtualbox-boot2docker-url标志有几种不同的形式。默认情况下,如果没有为此标志指定值,机器将在本地检查boot2docker ISO。如果找到一个,它将用作创建机器的ISO。如果没有找到,可以在boot2docker/boot2docker上下载并存储最新的ISO版本,以备将来使用。因此如果你想要更新存储的boot2docker ISO,你必须要故意地在机器中运行docker-machine upgrade命令。

--virtualbox-boot2docker-url=""是默认的设置,但是它也支持通过http://file://协议来指定。file://查看本地指定的路径以定位ISO:例如,你可以指定--virtualbox-boot2docker-url file://$HOME/Downloads/rc.iso 测试你已经下载的候选版本iso。你还可以使用http://form 直接从Internet获得ISO

为了定制主机唯一适配器,可以使用--virtualbox-hostonly-cidr标志。它指定主机IP,机器计算VirtualBox DHCP服务器地址(子网上的一个在.1到.25之间的随机IP),这样就不会与指定的主机IP冲突。机器指定DHCP的下界为.100,上界为.254。例如,指定的CIDR为192.168.24.1/24时,DHCP服务器位于192.168.24.2-25之间,下限为192.168.24.100,上限为192.168.24.254。

使用标志--virtualbox-share-folder,你可以指定主机与创建的机器共享哪个文件夹。格式是 本地文件夹:机器文件夹。例如 \\?\C:\docker-share:\home\users\。如果你在Windows cmd中使用docker-machine带着docker-toolbox指定这个标志,它看起来就像C:\docker-share\\:/home/users, : sign需要转义。

实现例子:

看本博客Docker技术入门与实战 第二版-学习笔记-10-Docker Machine 项目-1-cli

其他的之后使用到再添加

Docker技术入门与实战 第二版-学习笔记-10-Docker Machine 项目-2-driver的更多相关文章

  1. Docker技术入门与实战 第二版-学习笔记-8-网络功能network-3-容器访问控制和自定义网桥

    1)容器访问控制 容器的访问控制,主要通过 Linux 上的 iptables防火墙来进行管理和实现. iptables是 Linux 上默认的防火墙软件,在大部分发行版中都自带. 容器访问外部网络 ...

  2. Docker技术入门与实战 第二版-学习笔记-10-Docker Machine 项目-1-cli

    Docker Machine 是 Docker 官方编排(Orchestration)项目之一,负责在多种平台上快速安装 Docker 环境 Docker Machine是一种工具,它允许你在虚拟主机 ...

  3. Docker技术入门与实战 第二版-学习笔记-7-数据管理(volume)

    Docker 数据管理 为什么要进行数据管理呢?因为当我们在使用container时,可能会在里面创建一些数据或文件,但是当我们停掉或删除这个容器时,这些数据或文件也会同样被删除,这是我们并不想看见的 ...

  4. Docker技术入门与实战 第二版-学习笔记-5-容器-命令及限制内存与cpu资源

    1.启动容器 启动容器有两种方式: 基于镜像新建一个容器并启动 将在终止状态(stopped)的容器重新启动 1)新建并启动——docker run 比如在启动ubuntu:14.04容器,并输出“H ...

  5. Docker技术入门与实战 第二版-学习笔记-3-Dockerfile 指令详解

    前面已经讲解了FROM.RUN指令,还提及了COPY.ADD,接下来学习其他的指令 5.Dockerfile 指令详解 1> COPY 复制文件 格式: COPY  <源路径> .. ...

  6. Docker技术入门与实战 第二版-学习笔记-8-网络功能network-1-单个host上的容器网络

    Docker 中的网络功能介绍 Docker 允许通过外部访问容器或容器互联的方式来提供网络服务 1) 外部访问容器 容器中可以运行一些网络应用,要让外部也可以访问这些应用,可以通过 -p或 -P参数 ...

  7. Docker技术入门与实战 第二版-学习笔记-6-仓库

    仓库(Repository)是集中存放镜像的地方 一个容易混淆的概念是注册服务器(Registry). 实际上注册服务器是管理仓库的具体服务器,每个服务器上可以有多个仓库,而每个仓库下面有多个镜像. ...

  8. Docker技术入门与实战 第二版-学习笔记-2-镜像构建

    3.利用 commit 理解镜像构成 在之前的例子中,我们所使用的都是来自于 Docker Hub 的镜像. 直接使用这些镜像是可以满足一定的需求,而当这些镜像无法直接满足需求时,我们就需要定制这些镜 ...

  9. Docker技术入门与实战 第二版-学习笔记-4-Dockerfile外其他生成镜像的方法

    其它生成镜像的方法 即除了标准地使用Dockerfile来生成镜像外,还有一些其他的方法 1)从 rootfs 压缩包导入 格式:docker import [选项] <文件>|<U ...

随机推荐

  1. Vue:v-on自定义事件

    Vue中父组件使用prop向子组件传递数据,那么子组件向父组件使用什么方式传递信息:自定义事件. 1.先来看官网上面教程 每个 Vue 实例都实现了事件接口,即: 使用 $on(eventName)  ...

  2. Into outfile禁用情况下另类方法拿webshell

    首先环境如下: OS:Windows 2003 WAF:Safe Dog 4.0正式版 phpmyadmin:4.7(许多都可以) Mysql:5.5+ PHP:5.3 Apache:2.x 总结方法 ...

  3. HttpClient的用法

    客户端模拟http请求工具 Postmen(谷歌插件).RestClient 服务器模拟http请求工具 httpclient.HttpURLConnection httpCient请求代码 /** ...

  4. css 解决图片下小空隙问题

    http://baijiahao.baidu.com/s?id=1581004863053583633&wfr=spider&for=pc 这篇讲的挺清楚,也有解决办法

  5. pageHelper分页

    引入jar包 <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pag ...

  6. 分享一个 jsPDF的简单使用以及中文编码问题的解决

    后台一个下载文件中内容国际化问题的坑甩到了前端 前端自己匹配,自己处理国际化,生成文件下载 jsPDF-AutoTable    挺靠谱 中文乱码, 还是好人多啊 解决方式如下文章 jsPDF的简单使 ...

  7. 葡萄城报表介绍:矩表(Tablix)

    一.矩表(Tablix)定义 Tablix 即表(Table)+矩阵(Matrix)+列表(List),它是报表中展示数据的一种工具,由表.矩阵.列表这三个具有相似性的报表项组成. 二.矩表(Tabl ...

  8. Silverlight提示“Load 操作失败。远程服务器返回了错误: NotFound”

    调试时出现“Load 操作失败.远程服务器返回了错误: NotFound”: 一定要注意此错误之前的错误是什么?基本就是用户Cookie的问题,用户没有登录. 有时需要设置成Any CPU 有时重新编 ...

  9. Reactjs-generator-cli 一款基于Ink构建用于快速搭建React应用的CLI scaffolding工具

    Reactjs-generator-cli 一款基于Ink构建用于快速搭建React应用的CLI scaffolding工具 A simple CLI for scaffolding React.js ...

  10. 【Python】zlib压缩文件

    import zlib import os ss = 's' * 1024 * 1024 #写入原始文件 file = open("src.dat", "wb" ...