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


    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:homeusers。如果你在Windows cmd中使用docker-machine带着docker-toolbox指定这个标志,它看起来就像C:docker-share\:/home/users, : sign需要转义。

    实现例子:

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

    其他的之后使用到再添加

  • 相关阅读:
    年轻人的第一个 Spring Boot 应用,太爽了!
    面试问我 Java 逃逸分析,瞬间被秒杀了。。
    Spring Boot 配置文件 bootstrap vs application 到底有什么区别?
    坑爹的 Java 可变参数,把我整得够惨。。
    6月来了,Java还是第一!
    Eclipse 最常用的 10 组快捷键,个个牛逼!
    Spring Cloud Eureka 自我保护机制实战分析
    今天是 Java 诞生日,Java 24 岁了!
    厉害了,Dubbo 正式毕业!
    Spring Boot 2.1.5 正式发布,1.5.x 即将结束使命!
  • 原文地址:https://www.cnblogs.com/wanghui-garcia/p/10211084.html
Copyright © 2020-2023  润新知