将端口从docker bridge转发到本地networking?

我有一个容器在Docker上运行。 我可以通过172.17.0.1:8140访问它(IP是docker0网桥)

172.17.0.1可用于我的电脑,但本地networking上没有其他设备。

我想让端口8140 (在docker桥上)可用于我的本地networking。

如何从docker桥转发一个端口,以便在本地networking上可用?

您需要在docker docker run或docker-compose.yml的ports部分中使用-p选项发布端口。 端口的格式是docker主机的可选IP(通常为空),主机上的端口以及容器的端口。 如果您不提供主机端口,则将使用随机端口。 使用docker run命令,这看起来像:

 docker run -p 8140:8140 ... 

它将在泊坞窗主机的所有接口上映射主机端口8140到容器端口8140。

您还应该确保主机上的iptables允许连接到主机上的端口8140。


上面的docker-compose.yml语法如下所示:

 version: '2' services: app: image: your_image ports: - "8140:8140"