从docker bridge到本地网络的转发端口?

时间:2017-05-23 18:42:10

标签: networking docker

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

172.17.0.1可供我的电脑使用,但本地网络上没有其他任何设备。

我想让端口8140 (在docker bridge上)可用于我的本地网络。

如何从docker bridge转发端口以便在本地网络上可用?

1 个答案:

答案 0 :(得分:1)

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

docker run -p 8140:8140 ...

将在docker主机上的所有接口上将主机端口8140映射到容器端口8140。

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

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

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