Docker for Mac找不到docker0

很多关于Docker网络配置的教程里面都会说到:

一般 Docker 会使用 172.17.0.0/16 这个网段,并将 172.17.42.1/16 分配给 docker0 网桥

然而如果你安装的是Docker for Mac,用ifconfig docker0查看信息的时候就会提示

1
ifconfig: interface docker0 does not exist

找不到docker0 (°_°)

并且,使用docker0、mac等关键字的时候都搜不到什么有用的信息,因为mac同时也是Media Access Control的缩写……或者直接搜索”ifconfig: interface docker0 does not exist”,搜索出来的大多也是boot2docker之类的问题。

事实上boot2docker已经被淘汰,取而代之的是Docker Toolbox。而关于Docker for Mac和Docker Toolbox的对比可以看这里:Docker for Mac vs. Docker Toolbox。简单来说,虽然现在Docker for Mac还是测试版,还是推荐Docker for Mac的。

另外Docker for Mac里面真的没有docker0,官方说明在此:

Because of the way networking is implemented in Docker for Mac, you cannot see a docker0 interface in OSX. This interface is actually within HyperKit.

而且由于苹果系统限制,宿主机和docker容器之间不能ping,但是容器内部之间可以相互ping。

如果要查看docker容器的IP(一般是 172.17.0.0/16网段),可以使用docker inspect <container_id>来查看容器所有的信息。