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 了

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

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

(0)
上一篇 2021年5月12日 上午10:00
下一篇 2021年5月12日 上午11:00


相关推荐

  • HMACSHA1 加密算法

    HMACSHA1 加密算法https blog csdn net z article details HMACSHA1 nbsp 是从 SHA1 哈希函数构造的一种键控哈希算法 被用作 HMAC 基于哈希的消息验证代码 nbsp 此 HMAC 进程将密钥与消息数据混合 使用哈希函

    2026年3月16日
    1
  • 补码加法运算溢出判断例题_补码加法溢出

    补码加法运算溢出判断例题_补码加法溢出补码加法运算溢出判断三种方法:[方法一]Xf、Yf分别两个数符号位,Zf为运算结果符号位。当Xf=Yf=0(两数同为正),而Zf=1(结果为负)时,负溢出;当出现Xf=Yf=1(两数同为负),而Zf=0(结果为正),正溢出.[方法二]Cs表示符号位的进位,Cp表示最高数值位进位,⊕表示异或。若Cs⊕Cp=0,无溢出;若Cs⊕Cp=1,有溢出。[方法三]用变形

    2026年2月13日
    3
  • Levels – 虚幻引擎场景制作「建议收藏」

    Levels – 虚幻引擎场景制作「建议收藏」个人制作的一个UE4场景,虚幻引擎4相关,3D场景制作相关,LA工作流程相关;文档所附视频展示:https://zhuanlan.zhihu.com/p/56903372

    2022年6月22日
    34
  • javascript对象转数组

    javascript对象转数组arrFun letmeilihao lufei 船长 suolong 副船长 namei 航海士 wusuopu 狙击手 letarr Object values meilihao letarr2 Object keys meilihao console log arr arr2 打印结果

    2026年3月19日
    2
  • mysql数据库0.00是空么_mysql是什么类型数据库

    mysql数据库0.00是空么_mysql是什么类型数据库数据库分类关系型——SQLMySQL,Oracle,Sql Server,DB2,SQLlite特点:通过表和表之间,行和列之间的关系进行数据存储非关系型——NoSql(not only sql)Redis,MongDB非关系型数据库,对象存储,通过对象的自身的属性来决定DBMS-数据库管理系统数据库的管理软件——用于管理数据,维护,获取MySql本质是一个数据库管理系统,是最好的关系型数据库管理系统(RDBMS)应用软件之一MySQL关系型数据库管理系统,

    2022年8月8日
    8
  • Claude 4 正式发布,全网实测来了!(附升级教程)

    Claude 4 正式发布,全网实测来了!(附升级教程)

    2026年3月16日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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