Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
docker eclipse Mosquito仅在本地主机上运行_Docker_Localhost_Mosquitto - Fatal编程技术网

docker eclipse Mosquito仅在本地主机上运行

docker eclipse Mosquito仅在本地主机上运行,docker,localhost,mosquitto,Docker,Localhost,Mosquitto,我想使用docker eclipse Mosquito在本地机器上进行通信。mosquitto.conf需要哪些设置才能使mosquitto代理仅在本地主机上可见,而不从外部可见?由于第二个MOSQUITO正在运行,端口1883被阻塞,我正在使用端口1884 这就是我所拥有的: port 1884 bind_address 127.0.0.1 从外面可以看到 port 1884 bind_address localhost 给出错误错误:地址不可用 绑定到docker ip port 188

我想使用docker eclipse Mosquito在本地机器上进行通信。mosquitto.conf需要哪些设置才能使mosquitto代理仅在本地主机上可见,而不从外部可见?由于第二个MOSQUITO正在运行,端口1883被阻塞,我正在使用端口1884

这就是我所拥有的:

port 1884
bind_address 127.0.0.1
从外面可以看到

port 1884
bind_address localhost
给出错误
错误:地址不可用

绑定到docker ip

port 1884
bind_address 172.17.0.1
给出错误
错误:地址不可用

我能做什么?

好的,我自己解决了:

使用附加选项运行docker
--network=“host”
,而不是在mosquito.conf中:

port 1884
bind_address 127.0.0.1

完成工作。

你的答案是错误的,你应该只使用
--network=“host”
来打开原始套接字或从本地网络接收广播消息

正确的答案是不要使用mosquito.conf文件中的
bind_address
选项,而是使用docker
-p
选项正确地进行端口映射()

e、 g

这里,
-p 127.0.0.1:1884:1884
将容器中的端口1884映射到绑定到主机上的环回ip(127.0.0.1)的端口1884。

--network=“host”帮了我一把
docker run exec -rm -p 127.0.0.1:1884:1884/tcp mosquitto