Docker for mac 使用说明

Docker for mac 使用说明

从2015年开始接触到docker到现在,使用了不少docker管理工具,从最早的boot2docker 到docker toolbox再到现在的docker for mac,发现docker是越来越难用了(后面说)……

我记得第一次使用docker时同时装了boot2docker, docker toolbox两个工具。由于使用习惯问题,更多使用的是boot2docker,直接在后台用命令起动。

记得那时要用docker得办三件事儿:

一是起动boot2docker

$ boot2docker start

二是对初始化

$ boot2docker shellinit

第三步才是运行docker

$ docker run -d -P --name web nginx

做第三步前还得设置环境变量……麻烦,但照提示来,运行没有问题!!

docker toolbox用的少,已经不记得那时长什么样子了,但印象中它们都依赖VirtualBox。

Docker for Mac does not use VirtualBox, but rather HyperKit, a lightweight macOS virtualization solution built on top of Hypervisor.framework in macOS 10.10 Yosemite and higher.

docker for mac 已经大大减化了配置流程,底层也去掉了对VirtualBox的依赖,换成了HyperKit。docker for mac以标准的mac app形式存在,内部还是包含:docker,docker-compose,docker-machine这三个东西,但VM使用已经不在依赖docker-machine了,直接由docker-for-mac(在mac电脑里对应的是docker.app,使用前起动即可)接管守护,对比boot2docker省掉了第一步起动和第二步的初始化。有兴趣可以自行参考官方说明 Docker for Mac vs. Docker Toolbox

docker toolbox 在docker官网product里面是推荐的,主要是考虑到macOS 10.10之前的用户,因为系统没有集成Hypervisor.framework, 如果macOS大于10.10,官方推荐docker for mac,all in ONE,很方便。

最近使用docker最困扰的是无法pull image,在网上找了很多方法,最后还是选择结合shadowsocks翻墙pull,具体方法如下:

1 .安装polipo

brew install polipo

2.通过polipo生成shadowsocks的http代理(重点)

shadowsocks开全局,以为可以pull docker了,但跟本不是那么回事儿……经查shadowsocks是socks5的协议,只有支持这个协议的软件才能使用它的代理功能,比如dropbox就可以设置socks5……docker走的是http和https协议,所以要想办法把socks5转成http,这时就要用到polipo工具了

polipo socksParentProxy=127.0.0.1:1080 proxyAddress="192.168.0.102"

其中127.0.0.1:1080是socks5的端口,192.168.0.102是mac的地址。显示下面的日志就算代理起动成功。

Established listening socket on port 8123.

这个窗口不要关闭!

可以用http://192.168.0.102:8123https://192.168.0.102:8123来代理上网了。

测试一下:

➜  ~ curl ip.gs
当前 IP:140.207.223.158 来自:中国上海上海 联通
➜  ~ export http_proxy=http://localhost:8123
➜  ~ curl ip.gs
当前 IP:45.76.65.36 来自:美国新泽西州皮斯卡特维 choopa.com
➜  ~ unset http_proxy
➜  ~ curl ip.gs
当前 IP:140.207.223.158 来自:中国上海上海 联通

3.配置docker for mac

点docker起动后的图标,在“preferences”里面选proxies,如下图配置即可
screenshot.png

现在可以愉快的docker pull 了

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/100427.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 移动手机app开发

    移动手机app开发App开发,是指专注于手机应用软件开发与服务。App是application的缩写,通常专指手机上的应用软件,或称手机客户端。另外目前有很多在线app开发[1]平台,比如应用之星平台很好用。App开发,是指专注于手机应用软件开发与服务。App是application的缩写,通常专指手机上的应用软件,或称手机客户端。苹果公司的Appstore开创了手机软件业发展的新篇章,使得第三方软

  • 开车旅行游戏_开车周游世界

    开车旅行游戏_开车周游世界题目链接这道题最基本的思路是用倍增,但是其实它的难点在预处理部分。倍增的部分此次就不细说了,和之前的最近公共祖先的思想类似。我们主要来探讨一下预处理的部分。我们需要预处理出每个城市小A和小B的选择目标和对应的距离,接下来就可以处理出进行2k轮开车的目的地和距离了。所以前者才是重中之重,而前者如果要用暴力的方法会tle的。有人可能会疑惑,我们找当前点的后面两三个不就可以了?为什么会tle呢?实际上并不是序号相差很远距离就很远,实际上有可能第一个城市和最后一个城市最近,可以举个例子,城市海拔如下:

  • Jlink或者stlink用于SWD接口下载程序「建议收藏」

    Jlink或者stlink用于SWD接口下载程序「建议收藏」最近要使用stm32f103c8t6最小系统板,直接ISP串口下载程序太麻烦,就想着使用swd接口来调试。结果:通过SWD接口下载程序成功,但调试失败,还不知原因,会的的人麻烦交流一下。SWD接口:3.3VDIO(数据)CLK(时钟)GND1.首先声明jlink和stlink都有jtag和swd调试功能。jlink接口如下:如图,我使用的就是VCC…

  • 什么是泛型?为什么要用泛型?什么是泛型擦除?泛型擦除的过程?

    什么是泛型?为什么要用泛型?什么是泛型擦除?泛型擦除的过程?泛型:本质是参数化类型。为什么要使用?创建集合的时候,往集合里面添加数据,再次取出时,集合会忘记这数据类型,该对象的编译类型就会变成Object类型,否则如果想要变回原来的数据类型的时候,就要强制进行转换。创建集合的时候,我们就指定集合类型,避免这个过程。泛型擦除?Java的泛型处理过程都是在编译器中进行的,编译器首先会生成bytecode码,这个过程是不包括泛型类型,泛型类型在编译的时候是

  • Java程序设计(高级及专题)- IO流与序列化

    Java程序设计(高级及专题)- IO流与序列化

  • ASP.NET复习资料「建议收藏」

    ASP.NET复习资料「建议收藏」一、基础知识点(对应填空题、解答题)(1)ASPX网页的代码储存模式有两种,它们是__代码分离模式_和_单一模式__代码分离模式。 (2)当一个Web控件上发生的事件需要立即得到响时,应该将它的__AutoPostBack_ 属性设置为true。 (3)请将下列数据(nn)在TextBox控件中显示出来。Double nn=4512.6;TextBox1.Text

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号