docker 容器中的项目监听udp 无法收到消息
在我们生成容器并运行时,要配置对外暴露端口,如果使用到udp的话,还要单独指定udp端口1.udp发送端(ip xxxxxx port:9200)在当前目录下创建Dockerfile,利用Dockerfile生成镜像 docker build -t 镜像名 .(注意最后小点不要漏,是目录的意思)运行生成的镜像docker run -tid --name 容器名-p 19008:...
在我们生成容器并运行时,要配置对外暴露端口,如果使用到udp的话,还要单独指定udp端口
1.udp发送端(ip xxxxxx port:9200)
在当前目录下创建Dockerfile,利用Dockerfile生成镜像 docker build -t 镜像名 .(注意最后小点不要漏,是目录的意思)
运行生成的镜像 docker run -tid --name 容器名 -p 19008:8080 --restart=always 镜像名
注:发送端不需要暴露端口,可以理解为,发送端不需要用到机器的端口,只不过是在发送的时候,信息里面包含目标主机的ip和port
2.udp接收端
在当前目录下创建Dockerfile,利用Dockerfile生成镜像 docker build -t 镜像名 .(同上)
运行生成的镜像 docker run -tid --name 容器名 -p 19008:8080 -p 9200:9200/udp --restart=always 镜像名
注:接收端需要暴露端口,可以理解为,接收端要监听本机的端口,但是在容器里监听不到宿主机的对应端口,拿上面举例,1中发送过来的udp信息对应宿主机端口为9200,但是2中容器里的udp接收端要想监听到宿主机的9200端口就必须把容器里的9200映射到宿主机的9200
结果:经过上面的配置,成功接收到了udp消息
更多推荐
所有评论(0)