Mac系统下安装Boot2Docker造成了三层网络:Mac->VirtualBox->Docker,通过docker run 参数-p/-P,能手动或自动设置VirtualBox与Docker间的网络映设,而Mac与VirtualBox间的网络映设一般采用图形界面的操作方式完成,此文将采用命令行的方式达到同样的效果。

下载Boot2Docker

执行下面命令可以配置Boot2Docker 使用高速下载镜像,目前采用的版本为1.8.0
$ mkdir ~/.boot2docker $ echo ISOURL = \"https://get.daocloud.io/boot2docker/boot2docker-lastest.iso\" > ~/.boot2docker/profile
也可以下载安装包

运行Boot2Docker

安装完成后,运行应用程序中的boot2docker。正常情况下会启动VirtualBox中的虚拟机并通过SSH连接至Docker,如果SSH默认的映射商品被修改,将导致Error requesting socket: exit status 255错误,通过$ boot2docker up -v可以跟踪启动过程。

查询虚拟机及网络

查询虚拟机名称,默认启动的虚拟机名为boot2docker-vm
$ VBoxManage list vms
查询boot2docker-vm虚拟机的网络状态
$ VBoxManage showvminfo "boot2docker-vm" | grep NIC

关闭运行中的虚拟机

由于Boot2Docker会自动运行VirtualBox中的虚拟机,所以在设置网络映射时必须先关闭运行中的虚拟机。否则,将出现The machine 'boot2docker' is already locked for a session (or being unlocked)的错误提示
$ VBoxManage controlvm "boot2docker-vm" poweroff

修改虚拟机与Mac系统的网络映射

根据实际需要进行网络映射,其中
rulename: 自定义规则名称
hostip: Mac访问地址,可不填
hostport: Mac映射端口
guestip: 虚拟机访问地址,可不填
guestport: 虚拟机映射端口
$ VBoxManage modifyvm "boot2docker-vm" --natpf1 "<Rule Name>,<tcp|udp>,<Host IP>,<Host Port>,<Guest IP>,<Guest Port>"

启动虚拟机

设置完成后重新启动虚拟机 $ VBoxManage startvm "boot2docker-vm"

运行镜像

以wwj718提供的edX docker为例,运行其镜像
$ docker run -itd -p 8000:80 -p 8010:18010 --name edX wwj718/edx_cypress_docker:1.05

查看容器运行状态

$ docker ps

其他 - 删除映射端口,也需要关闭虚拟机,删除命令如下

$ VBoxManage modifyvm "boot2docker-vm" --natpf1 delete

Mac OS下Boot2Docker的网络映射设置的更多相关文章

  1. YII 框架在 MAC OS下 连接数据库失败 提示 DB connection: SQLSTATE[HY000] [2002]

    作者:zccst CDbConnection failed to open the DB connection: SQLSTATE[HY000] [2002] No such file or dire ...

  2. wget Mac OS 下安装

    wget是一个从网络上自动下载文件的自由工具,支持通过HTTP.HTTPS.FTP三个最常见的TCP/IP协议下载,并可以使用HTTP代理. 下面介绍如何在Mac OS 下安装Wget 下载最新版的 ...

  3. Mac os 下的文件权限管理

    Mac os 下的文件权限管理 命令 ls -l -A 结果 -rw-r--r-- 1 user admin 2326156 4 12 15:24 adb 横线代表空许可.r代表只读,w代表写,x代表 ...

  4. mac os 下搭建android开发环境

    mac os 下搭建android开发环境 周银辉 mac os 下搭建android环境比较方便, 如下几个步骤: 1,安装jdk 先搞清楚自己是否已经安装,在命令行下:java -version, ...

  5. mac os 下的sublime --- 快捷键

    mac os 下的sublime ---列模式 http://www.oschina.net/question/249672_161413 触控板也可以的:左手同时按住 Option 和触控板左下角 ...

  6. Mac OS下编写对拍程序

    介绍 对拍是信息学竞赛中重要的技巧,它通过一个效率低下但正确率可以保证的程序,利用庞大的随机生成数据来验证我们的高级算法程序.对拍最大的优势在于可以通过人力所不能及的速度和数量达到验证的效果.下面我们 ...

  7. Win7+VMware Workstation环境下的CentOS-Linux网络连接设置

    Win7+VMware Workstation环境下的CentOS-Linux网络连接设置 http://blog.sciencenet.cn/blog-430991-507041.html   近日 ...

  8. MAC OS下免费下载YouTube

    YouTube上有很多不错的视频,你感兴趣的视频除了可以加入自己播放列表之外,还可以将其下载到本地收藏起来.推荐这款软件“Xilisoft Download YouTube Video for Mac ...

  9. Mac OS下 Redis2.6.14部署记录

    Mac OS下 Redis2.6.14部署记录 部署一个Redis作为缓存进行验证,记录部署过程. 官网:http://redis.io/,目前最近稳定版为2.6.14  解压,进入目录.按照READ ...

随机推荐

  1. (转)LitJson 遍历key

    本文转载自:http://blog.csdn.net/inlet511/article/details/47127579 用LitJson插件获取到的对象,如果想遍历对象中包含的子对象的key,可以用 ...

  2. 可以返回执行结果的system函数加强版本

    在GNU Linux C编程中,要想进行系统命令的执行的话,只提供了system接口,但是此接口并不能得到命令执行后所输出的值,而只能够得到命令是否执行成功的结果.仅仅这样的功能还是不够的,有的时候是 ...

  3. powerdesigner12.5 设置表字符集和存储引擎

    powerdesigner12.5在做建模的时候发现没有找到哪儿设置表的字符集和存储引擎.于是研究了一番. 在菜单上方选择 Database => Edit Current DBMS   然后选 ...

  4. git同步开发更新至项目目录(转载)

    From:http://toroid.org/ams/git-website-howto 本地版本库中存放开发的项目代码.以下内容介绍如何将本地版本库修改通过执行“git push web”命令同步到 ...

  5. ubuntu更换源后报错:W: GPG error: (转载)

    From:http://www.njava.com/njava-626.html 更换163源后,更新源时出现错误. # apt-get update W: GPG error: http://ext ...

  6. rails中两种回滚-reversible和revert区别

    1 通常迁移内容写在change方法中 ,但是有些迁移内容不能自动通过执行rake:rollback回滚, 所以在迁移文件里要使用 reversible 方法,告诉rails如何回滚例如下面 # co ...

  7. NPM使用

    安装路径修改: 4.配置npm的全局模块存放路径和cache路径 输入以下命令 npm config set prefix  “D:\Program Files\node\node-global” n ...

  8. C++学习5

    类是创建对象的模板,一个类可以创建多个对象,每个对象都是类类型的一个变量:创建对象的过程也叫类的实例化.每个对象都是类的一个具体实例(Instance),拥有类的成员变量和成员函数. 与结构体一样,类 ...

  9. [Java] File类的常用操作

    package test.file; import java.io.File; import java.io.IOException; public class TestFile { public s ...

  10. [ActionScript] AS3利用SWFObject与JS通信

    首先介绍SWFObject的用法: swfobject.embedSWF(swfUrl, id, width, height, version, expressInstallSwfurl, flash ...