boot2docker-xhyve, 在xhyve管理程序上运行 Boot2Docker

分享于 

7分钟阅读

GitHub

  繁體 雙語
Boot2Docker running on xhyve hypervisor
  • 源代码名称:boot2docker-xhyve
  • 源代码网址:http://www.github.com/ailispaw/boot2docker-xhyve
  • boot2docker-xhyve源代码文档
  • boot2docker-xhyve源代码下载
  • Git URL:
    git://www.github.com/ailispaw/boot2docker-xhyve.git
    Git Clone代码到本地:
    git clone http://www.github.com/ailispaw/boot2docker-xhyve
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/ailispaw/boot2docker-xhyve
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
    运行在xhyve管理程序上的Boot2Docker

    特性

    • boot2docker v17.11.0 -ce
    • 禁用 TLS
    • 公开官方 Docker 注册的端口 2375
    • 支持同步的文件夹:/Users的NFS安装在boot2docker虚拟机上。

    要求

    • xhyve
      • Mac OS X Yosemite 10.10.3或者更高版本
      • 一个 2010或者更高版本的Mac ( 例如。 支持EPT的CPU

    警告

    • 如果 VirtualBox ( <v5.0 ) 在启动前运行,则会在引导时发生内核紧急情况
    • 注意在没有TLS的情况下公开端口 2375,如你所见。

    安装 xhyve

    
    $ git clone https://github.com/mist64/xhyve
    
    
    $ cd xhyve
    
    
    $ make
    
    
    $ cp build/xhyve/usr/local/bin/# You may require sudo
    
    
    
    

    或者

    
    $ brew install xhyve
    
    
    
    

    设置Boot2Docker图像和工具

    
    $ git clone https://github.com/ailispaw/boot2docker-xhyve
    
    
    $ cd boot2docker-xhyve
    
    
    $ make
    
    
    
    

    启动启动

    
    $ sudo./xhyverun.sh
    
    
    
    Core Linux
    
    
    boot2docker login: 
    
    
    
    

    或者

    
    $ make run # You may be asked for your sudo password
    
    
    Booting up...
    
    
    
    
    • 在 Terminal.app: 这将打开一个新窗口,然后在窗口中如下所示。
    • 在 iTerm.app: 这将拆分当前窗口,然后在下面的窗格中看到如下。
    
    Core Linux
    
    
    boot2docker login: 
    
    
    
    

    日志记录

    • ID: Docker
    • 密码:tcuser ( 在大多数情况下,你将不会被提示输入密码)
    
    $ make ssh
    
    
    docker@192.168.64.3's password:
    
    
     ##. 
    
    
     ## ## ## ==
    
    
     ## ## ## ## ## ===
    
    
    /"""""""""""""""""___/===
    
    
     ~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~/===- ~~~
    
    
     ______ o __/
    
    
     __/
    
    
     ___________/
    
    
     _ _ ____ _ _
    
    
    | |__ ___ ___ | |_|___ __| | ___ ___| | _____ _ __
    
    
    | '_/_/_ | __| __)/_` |/_/__| |//_ '__|
    
    
    | |_) | (_) | (_) | |_/__/(_| | (_) | (__| <__/|
    
    
    |_.__/___/___/__|_______,_|___/___|_|____|_|
    
    
    Boot2Docker version 17.11.0-ce, build HEAD : e620608 - Tue Nov 21 18:11:40 UTC 2017
    
    
    Docker version 17.11.0-ce, build 1caf76c
    
    
    docker@boot2docker:~$ 
    
    
    
    

    关闭

    使用 halt 命令在虚拟机中关闭:

    
    docker@boot2docker:~$ sudo halt
    
    
    docker@boot2docker:~$ reboot: System halted
    
    
    $ 
    
    
    
    

    或者,在主机上使用 make halt:

    
    $ make halt
    
    
    docker@192.168.64.3's password:
    
    
    Shutting down...
    
    
    
    

    使用 Docker

    你可以简单地在VM中运行 Docker。 但是,如果在主机上安装 Docker 客户端,则可以在主机Mac上本地使用 Docker 命令。 按如下方式安装 Docker 客户机:

    
    $ curl -L https://get.docker.com/builds/Darwin/x86_64/docker-latest -o docker
    
    
    $ chmod +x docker
    
    
    $ mv docker/usr/local/bin/# You may require sudo
    
    
    
    

    使用 Homebrew 安装:

    
    $ brew install docker
    
    
    
    

    然后,在VM中或者在主机上,如果你已经安装了 Docker 客户端:

    
    $ make env
    
    
    export DOCKER_HOST=tcp://192.168.64.3:2375;
    
    
    unset DOCKER_CERT_PATH;
    
    
    unset DOCKER_TLS_VERIFY;
    
    
    $ eval $(make env)
    
    
    
    $ docker info
    
    
    Containers: 0
    
    
     Running: 0
    
    
     Paused: 0
    
    
     Stopped: 0
    
    
    Images: 0
    
    
    Server Version: 17.11.0-ce
    
    
    Storage Driver: overlay2
    
    
     Backing Filesystem: extfs
    
    
     Supports d_type: true
    
    
     Native Overlay Diff: true
    
    
    Logging Driver: json-file
    
    
    Cgroup Driver: cgroupfs
    
    
    Plugins:
    
    
     Volume: local
    
    
     Network: bridge host macvlan null overlay
    
    
     Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
    
    
    Swarm: inactive
    
    
    Runtimes: runc
    
    
    Default Runtime: runc
    
    
    Init Binary: docker-init
    
    
    containerd version: 992280e8e265f491f7a624ab82f3e238be086e49
    
    
    runc version: 0351df1c5a66838d0c392b4ac4cf9450de844e2d
    
    
    init version: 949e6fa
    
    
    Security Options:
    
    
     seccomp
    
    
     Profile: default
    
    
    Kernel Version: 4.4.100-boot2docker
    
    
    Operating System: Boot2Docker 17.11.0-ce (TCL 7.2); HEAD : e620608 - Tue Nov 21 18:11:40 UTC 2017
    
    
    OSType: linux
    
    
    Architecture: x86_64
    
    
    CPUs: 1
    
    
    Total Memory: 995.8MiB
    
    
    Name: boot2docker
    
    
    ID: NAO6:LNSN:2H5F:6Y36:NNZ3:XXFM:GANK:HZYU:NDEB:USJY:PUFD:NOEW
    
    
    Docker Root Dir:/mnt/vda1/var/lib/docker
    
    
    Debug Mode (client): false
    
    
    Debug Mode (server): true
    
    
     File Descriptors: 20
    
    
     Goroutines: 34
    
    
     System Time: 2017-11-21T19:26:49.114847111Z
    
    
     EventsListeners: 0
    
    
    Registry: https://index.docker.io/v1/
    
    
    Experimental: false
    
    
    Insecure Registries:
    
    
     127.0.0.0/8
    
    
    Live Restore Enabled: false
    
    
    
    

    升级 Boot2Docker

    当Boot2Docker升级并更新boot2docker-xhyve时,

    
    $ git pull origin master
    
    
    $ make upgrade
    
    
    
    

    资源

    • /var/db/dhcpd_leases
    • /Library/Preferences/SystemConfiguration/com.apple.vmnet.plist
      • Shared_Net_Address
      • Shared_Net_Mask

    相关文章