mac下使用docker-for-mac代替docker-toolbox-阿里云开发者社区

开发者社区> 云原生> 正文

mac下使用docker-for-mac代替docker-toolbox

简介: 新的docker fro mac简化mac下使用docker的流程,更加方便。

为什么使用Docker for Mac

  • 启动时不需要再使用dokcer-machine设定启动的默认的环境,省去了使用virtualbox的过程;
  • 享受和在linux下使用docker一样的体验. 总之,新工具更方便!

mac下启动docker的工具发展

  • 最开始使用boot2docker
  • 再到Docker Toolbox
  • 最近新出的 Docker for Mac

如何配置和使用Docker for Mac

基础配置

使用docker for mac基本的机器要求

1. Mac must be a 2010 or newer model, with Intel’s hardware support for memory management unit (MMU) virtualization; i.e., Extended Page Tables (EPT)
2. OS X 10.10.3 Yosemite or newer
3. At least 4GB of RAM
4. VirtualBox prior to version 4.3.30 must NOT be installed (it is incompatible with Docker for Mac)

安装docker

使用brew安装docker,最新版本的docker为1.12.0-rc2

brew install docker

也可以升级docker

brew update
brew upgrade docker

第一次在mac上使用docker

详见这个步骤

从boot2docker或者docker toolbox工具升级到Docker for Mac

注意:安装之前请先确定是否导入之前的images配置,新装docker for mac之后会把之前的docker image自动同步,这样有可能导致磁盘空间不足,第一步可以先删除不要的docker images。

  1. 卸载virtualbox : 进入应用程序->删除virtualbox
  2. 安装docker for mac并启动,详见这里
  3. 执行docker psdocker info查看启动情况,如果正常输出,则启动成功
  4. 如果有以下情况,可以这样处理

    • 如果表现出卡死没有输出的情况,表明docker未启动成功:可能是未卸载virtualbox;
    • 如果报错如下

      An error occurred trying to connect: Get https://192.168.xx.xx:2376/v1.18/containers/        json: remote error: bad certificate

      解决方案为:

      • 输入指令env | grep DOCKER,如果有如下输入;
      DOCKER_HOST=tcp://192.168.99.100:2376
      DOCKER_MACHINE_NAME=default
      DOCKER_TLS_VERIFY=1
      DOCKER_CERT_PATH=/Users/victoriabialas/.docker/machine/machines/default
      • 执行
      unset DOCKER_TLS_VERIFY
      unset DOCKER_CERT_PATH
      unset DOCKER_MACHINE_NAME
      unset DOCKER_HOST
      • 再执行
      $docker info
      Containers: 15
      Running: 0
      Paused: 0
      Stopped: 15
      Images: 85
      ...

总结

  • 新发布的docker for mac工具简化了启动docker的配置,如果之前使用了boot2docker或者docker toolbox,由于两者使用的虚拟机不同,docker-for-mac工具不兼容之前的虚拟机,所以在更新工具时需要清除之前的配置包括卸载虚拟机和修改环境变量等等。
  • 具体的两者的工具的比较详见这里.

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
云原生
使用钉钉扫一扫加入圈子
+ 订阅

云原生时代,是开发者最好的时代

其他文章