网站页面相似度检测,免费做封面的网站,旅游app推广营销策略,网站绑定别名好吗问题描述
docker容器中的程序需要和外部进行通讯#xff0c;但是当作为请求方向 响应方发送数据时#xff0c;外部的进程因为需要绑定的端口被docker占用而绑定失败。
解决方式
方式一#xff1a;使用请求响应方式#xff0c;但是将响应端放置到容器内部。 方拾二#…问题描述
docker容器中的程序需要和外部进行通讯但是当作为请求方向 响应方发送数据时外部的进程因为需要绑定的端口被docker占用而绑定失败。
解决方式
方式一使用请求响应方式但是将响应端放置到容器内部。 方拾二使用主机模式运行docker容器。将容器内使用外部网络。
主机模式运行docker 容器
要使用主机模式运行Docker容器你可以在运行Docker命令时使用--networkhost选项。这将使容器共享主机的网络命名空间意味着容器将直接使用主机的网络而不是虚拟的网络。
以下是一个示例命令
docker run --networkhost -it zmq_demo_v2.1 /bin/bash在这个例子中--networkhost选项告诉Docker使用主机网络模式运行容器。这样容器内的应用可以直接绑定到主机的端口而不需要通过端口映射。
请注意使用主机网络模式可能会带来安全风险因为它允许容器访问主机的所有网络资源。因此你应该只在你完全信任的容器上使用这种模式。
补充
在测试时如果Linux系统对host的关键字解释有多个的时候会出现docker 容器启动时内外部端口映射使用的外部端口号外部程序还可以绑定但是双方通信无响应不能送达。
检查方式Linux查看host 文件 命令行界面输入cat /etc/hosts如果有多个可以注释掉 127.0.0.1以外的内容行。更新配置之后就可以解决问题了。 分享一个有趣的 学习链接https://xxetb.xet.tech/s/HY8za