我在Docker上运行了一个容器。我可以通过172.17.0.1:8140
(IP是docker0
网桥)来访问它。
172.17.0.1
可供我的电脑使用,但本地网络上没有其他任何设备。
我想让端口8140
(在docker bridge上)可用于我的本地网络。
如何从docker bridge转发端口以便在本地网络上可用?
答案 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"