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. 使用 ActiveMQ 实现JMS 异步调用

    目录 简介 启动 ActiveMQ 服务器 查看控制台 ActiveMQ 的消息通道 Queue Topic 比较 开发生产者和消费者 开发服务端(消费者) 开发客户端(生产者) 参考 简介 服务之间 ...

  2. java环境配置及原理详解

    java环境配置及原理详解 1.java跨平台的本质 我们谈到java,总是提到跨平台这个词.那么java语言是怎么实现跨平台的呢? 我们编写的java代码不是直接让windows系统读取解析,而是在 ...

  3. 十分钟搞定mac下的phpstorm增加xdebug调试

    一.版本信息 mac 10.10.5 php  5.5.38 phpstorm 10.0.3 xdebug   版本需要与php匹配,匹配地址 :点我匹配  点我查看所有版本 提示:不确定xdebug ...

  4. 理解Java反射

    一.反射简介 Java让我们在运行时识别对象和类的信息,主要有2种方式:一种是传统的RTTI,它假定我们在编译时已经知道了所有的类型信息:另一种是反射机制,它允许我们在运行时发现和使用类的信息. 1. ...

  5. Windows平台如何部署scrapy

    0.安装Anaconda 这个不教了,自己去Anaconda官网上下个安装包,装上就好. https://www.anaconda.com/distribution/ 1.使用Anaconda创建一个 ...

  6. 排序算法(8)--Merge Sorting--归并排序--Merge sort--归并排序

    1.基本思想  归并排序是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用.将已有序的子序列合并,得到完全有序的序列:即先使每个子序 ...

  7. Google 翻译(中英,英中)

    网上找了好久, 终于弄好了, 免费的谷歌翻译,直接上代码,不懂留言: //翻译 app.get('/google', function (req, res, next) { var content = ...

  8. Python 调度算法 死锁 静动态链接 分页分段

    1 select poll epoll的区别基本上select有3个缺点: 连接数受限查找配对速度慢数据由内核拷贝到用户态poll改善了第一个缺点 epoll改了三个缺点. (1)select,pol ...

  9. tinyint、smallint、bigint、int 区别

    1byte=8bit   [tinyint] 从 0 到 255 的整型数据.存储大小为 1 字节.如果设置为UNSIGNED类型,只能存储从0到255的整数,不能用来储存负数. [smallint] ...

  10. iOS设备上出现的click,live,on点击失去效果

    iOS设备上出现的点击事件失效,但是在Android上可以正常使用, 1.iOS设备对标签点击限制,不认为是可点击的标签,需要给要绑定点击事件的标签加上一个样式,cursor:pointer:这样就可 ...