MacOS 端口问题

来源:4-6 容器的端口映射

swordkeeper

2020-04-14

老师,我有个问题:
Docker Desktop for MacOs 不支持 docker0 端口。
所以我在mac上启动的所有容器,都无法通过Mac环境访问。
有没有什么方法,能让我在Mac上建立docker0,使得docker 服务器上的bridge网络,直接链接到我的mac。而不通过虚拟机,间接中转。

写回答

3回答

麦兜搞IT

2020-04-17

比如这就是我在Mac上直接访问nginx的container


$ docker network create my-bridge
14bf23e2f5c48a0249264825f72842b28c36b4be9ee8d1d485ef3465676f685d
$ docker run -d --network=my-bridge -p 8080:80 nginx
bbb77e5e8451614a32c39181a054550bdb01f134712735e68ce25ede743c8a78
$
$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                  NAMES
bbb77e5e8451        nginx               "nginx -g 'daemon of…"   3 seconds ago       Up 3 seconds        0.0.0.0:8080->80/tcp   recursing_khayyam
$ curl 127.0.0.1:8080
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>
<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>
<p><em>Thank you for using nginx.</em></p>
</body>
</html>
$


1
2
swordkeeper
我犯了个低级错误。我去访问他内网IP,就是bridge默认使用的网段 172.10.xxx.xxx。现在好了非常感谢老师
2020-04-17
共2条回复

麦兜搞IT

2020-04-17

浏览器也可以了

//img.mukewang.com/szimg/5e9951e70981612026561736.jpg

0
0

麦兜搞IT

2020-04-17

您如果直接用mac的docker,那就不要用docker0这个bridge,可以使用docker network去创建一个新的bridge网络,然后映射到这个网络上就可以了

0
3
麦兜搞IT
回复
swordkeeper
我的意思是说您创建一个新的bridge,然后再创建container的时候,就通过--network指定使用这个network,这样你的--port就可以映射访问了
2020-04-17
共3条回复

系统学习Docker 践行DevOps理念

无论你是开发、测试还是运维,Docker都是你的必备技能。

3297 学习 · 1895 问题

查看课程