http://www.oschina.net/translate/installing-docker-on-mac-os-x?print

在 Mac OS X 上安装 Docker

注意:Docker支持Mac OS X 10.6 "Snow Leopard" 及其以上版本.

Docker引擎使用了Linux内核特定的特性,所以要让它运行在OS X上我们需要用一个轻量型的虚拟机(vm)。用OS X的Docker客户端来控制虚拟Docker来构建,运行以及管理Docker容器。

为了使过程更简单一点,我们设计了一个叫做Boot2Docker的帮助应用程序,它能按照虚拟机以及运行Docker后台程序。

安装

  1. 下载最近版的Docker for OS X Installer

  2. 运行安装程序, 安装VirtualBox和Boot2Docker管理工具。   

  3. 运行应用程序文件夹下的Boot2Docker应用:   

或者手动初始化Boot2Docker,打开终端并运行:

1      $ boot2docker init
2      $ boot2docker start
3      export DOCKER_HOST=tcp://$(boot2docker ip 2>/dev/null):2375

一旦你初始化化好了一个虚拟机,你就能用boot2docker stop和boot2docker start来进行控制。

更新

  1. 下载最新版的Docker for OS X Installer

  2. 运行安装程序, 更新VirtualBox和Boot2Docker管理工具。

  3. 更新现有虚拟机,打开终端并运行:

    1 $ boot2docker stop
    2 $ boot2docker download
    3 $ boot2docker start

运行Docker

在终端上跑一个“hello world” 的示例来测试Docker。启动虚拟机然后运行:

1 $ docker run ubuntu echo hello world

这样应该会下载ubuntu镜像并打印hello world。

容器端口跳转

最新版的boot2docker建立了一个仅有网络适配器的主机提供可以接入容器的端口。

如果你运行一个有公开端口的容器,

1 $ docker run --rm -i -t -p 80:80 nginx

然后你应该能用IP地址接入Nginx服务器:

1 $ boot2docker ip

通常,这个IP地址为192.168.59.103,但是也可能被VirtualBox启用的DHCP修改。

更多细节

如果你好奇的话,Boot2Docker的缺省用户名为docker,密码为tcuser。

Boot2Docker管理工具提供了很多命令:

$ ./boot2dockerUsage: ./boot2docker [<options>]{help|init|up|ssh|save|down|poweroff|reset|restart|config|status|info|ip|delete|download|version} [<args>]

更多内容在User Guide

想了解更多信息或者报告问题,请访问Boot2Docker site

本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们

在 Mac OS X 上安装 Docker(转)的更多相关文章

  1. 在 Mac OS X 上安装 TensorFlow

    在 Mac OS X 上安装 TensorFlow 这个文档说明了如何在 Mac OS X 上安装 TensorFlow. 注意:从 1.2 版本开始,在 Mac OS X 上 TensorFlow ...

  2. Mac OS X 上安装 ASP.NET 5

    在Mac OS X Yosemite 10.10.3 中搭建第一个 ASP.NET 5 Web 项目 终于有时间在 Mac 上安装一下 ASP.NET 5,网上有许多教程,但是多数的时间比较早了,版本 ...

  3. 如何在Mac OS X上安装 Ruby运行环境

    对于新入门的开发者,如何安装 Ruby和Ruby Gems 的运行环境可能会是个问题,本页主要介绍如何用一条靠谱的路子快速安装 Ruby 开发环境.此安装方法同样适用于产品环境! 系统需求 首先确定操 ...

  4. Mac OS X上安装 Ruby运行环境

    环境   对于新入门的开发者,如何安装 Ruby和Ruby Gems 的运行环境可能会是个问题,本页主要介绍如何用一条靠谱的路子快速安装 Ruby 开发环境.此安装方法同样适用于产品环境! 系统需求 ...

  5. 在Mac OS X上安装ASP.NET 5(译文)

    ASP.NET 5 运行在包括OS X的可用于多个平台的.NET Execution Environment(DNX)上.本文介绍如何在OS X上通过HomeBrew安装DNX和ASP.NET 5. ...

  6. 在Mac OS X上安装使用lazarus 1.6.4

    一直觉得delphi的OO做得比C++还完善, 但如今日落西真是让人感到唏嘘,  这并不意味着delphi比C++差, 它的创始人被微软挖墙脚后创造了C#系列开发工具, 设计理念大部分与Delphi相 ...

  7. Mac OS X上安装配置apache服务器

    说明:Mac在安装完成Mac系统的时候它已经自带了apache服务器,接下来就是配置和将它启动运行了.那么接下来要做的事情就是: 1.配置apache的配置文件 2.设置虚拟主机 启动并查看apach ...

  8. 在Mac OS X上安装Ionic

    安装xcode(从app store下载,用于编译调试ios平台app) 安装node.js(npm) 安装ionic(sudo npm install -g ionic) 安装cordova(sud ...

  9. Sqlite在Windows、Linux 和 Mac OS X 上的安装过程

    一:在 Windows 上安装 SQLite 1,下载 请访问SQLite下载页面http://www.sqlite.org/download.html,从Windows 区下载预编译的二进制文件.需 ...

随机推荐

  1. Quartz .net 一直运行失败

    使用了新的: Quartz.NET 2.6.2 https://github.com/quartznet/quartznet/releases IScheduler scheduler = StdSc ...

  2. zookeeper 数据节点的增删改查

    1.连接服务端 [root@localhost bin]# ./zkCli.sh -server 127.0.0.1:2181 Connecting to 127.0.0.1:2181 2018-05 ...

  3. 在vue中import()语法不能传入变量

    解决办法: 一定要用变量的时候,可以通过字符串模板来提供部分信息给webpack:例如import(`./path/${myFile}`), 这样编译时会编译所有./path下的模块,但运行时确定my ...

  4. ajax中的异步机制导致的问题

    设置async:false;即可将请求设置为同步的,所以,我们就可以实现:在ajax请求之后再执行下面的语句.

  5. 前端中用到的图片(png图片)

    作为前端工程师,将设计师的设计稿转化为html页面,其中有一个必不可少的环节就是将psd文件中的一些图片随心所欲的使用,而我们经常用到的就是png图片. 第一部分:基本介绍 首先我们先对比几种图片: ...

  6. C语言实现链表

    #include<stdio.h>#include<malloc.h>#include<stdlib.h> typedef struct Node {    int ...

  7. 【Nginx】关于域名转发proxy_pass

    在配置nginx的时候,有一个需求,访问m.XXX.com的时候,需要实际访问www.YYY.com/m,并且域名不能发生变化. 达成这个需求有两种做法: 第一种就是301跳转,使用rewrite来跳 ...

  8. Android AsyncTask异步加载WebAPI

    之前做的程序一直存在很多问题,因为需要加载的Activity需要从网络加载数据.并没有完全正确的使用异步的方法去加载! 之前用的虽然是AsyncTask,但是在加载完成的时候还是并没有使用AsyncT ...

  9. python获取命令行参数

    python获取命令行参数 主要是通过sys的argv列表来获取命令行内容,命令行的参数以空格分隔放到argv列表中. import sys if __name__ == "__main__ ...

  10. Java线程池——ThreadPoolExecutor的使用

    1 线程池的创建 ThreadPoolExecutor有以下四个构造方法 ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long  ...