嘟嘟社区

docker 怎么让端口全部映射成本机的,是host么?


我docker run –network=host  这样运行的,好像不行。,本机没看见开放端口。我用 -p 映射就可以
docker run –net=host

这个也测试过。
docker run -itd  –restart=always –name emqx –net=host emqx/emqx:5.0.8

我下面这样就行。
docker run -itd  –restart=always –name emqx -p 1883:1883 -p 8081:8081 -p 8083:8083 -p 8883:8883 -p 8084:8084 -p 18083:18083 -e  emqx/emqx:5.0.8

斌斌 发表于 2022-10-12 14:36
我下面这样就行。
docker run -itd  –restart=always –name emqx -p 1883:1883 -p 8081:8081 -p 8083:8 …

用netstat -tulnp查看端口是否运行,而不是通过docker

斌斌 发表于 2022-10-12 14:34
这个也测试过。

应该可以的呀,一直都这么用的

https://docs.docker.com/network/network-tutorial-host/

斌斌 发表于 2022-10-12 14:34
这个也测试过。
docker run -itd  –restart=always –name emqx –net=host emqx/emqx:5.0.8

我在清凉云上运行了,没问题呀
~# lsof -i:1883
COMMAND      PID       USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
beam.smp 1057297 lighthouse   36u  IPv4 6274086      0t0  TCP *:1883 (LISTEN)

准备重新dock一下子,naive

ansheng 发表于 2022-10-12 14:37
用netstat -tulnp查看端口是否运行,而不是通过docker

我netstat -ntlp 查看的一样啊。用–net=host 就是没有端口,我指定端口就有。