避免Kafka客户端无法连接Docker上运行的Kafka,又名:Docker如何添加hosts映射
2020-03-09 13:04
337 查看
承接上文
在上一篇文章中,我们谈了下Kafka客户端连接后端Broker的认证,导致的无法建立连接的出现原因,了解了为什么无法通过认证,即:客户端未携带与 Zookeeper 中存储的 Broker 连接认证信息
有朋友可能会问了,我知道了这个原理了,知道需要为客户端主机添加 hosts 映射,可是如果这个客户端运行在容器里呢?该怎么处理?
解决方式
解决思路有两种,第一种是容器使用主机网络,修改主机
/etc/hosts;第二种是通过命令为容器添加 hosts 映射
docker 命令行如何做
- 主机网络模式:在镜像名称前添加
--network host
举例:
docker run -it --network host nginx cat /etc/hosts
- 添加容器内 hosts 映射:与上述位置相同,添加
--add-host 映射域名:映射ip
,相当于在容器内设置了映射ip 映射域名
举例:
docker run -it --add-host hellxz.test:192.168.1.10 nginx cat /etc/hosts
docker-compose 如何做
- 主机网络模式:在docker-compose.yml中添加
network_mode: "host"
举例:
version: "3.3" services: zookeeper: image: zookeeper:3.5.5 restart: always container_name: zookeeper environment: - ZOO_MY_ID=1 network_mode: "host" #host模式会导致ports与expose端口映射失效
- 添加容器内 hosts 映射:在docker-compose.yml中添加
extra_hosts
举例:
version: "3.3" services: zookeeper: image: zookeeper:3.5.5 restart: always container_name: zookeeper ports: - "2181:2181" expose: - "2181" environment: - ZOO_MY_ID=1 extra_hosts: - "hellxz.test:192.168.1.10"
引用:
https://docs.docker.com/network/network-tutorial-host/
https://docs.docker.com/compose/compose-file/
本文采用 CC BY 4.0 协议进行授权,转载请标注作者署名及来源。 https://www.cnblogs.com/hellxz/p/how_to_add_hosts_on_docker.html
相关文章推荐
- 如何修改Docker已运行实例的端口映射
- WCF服务运行一段时间后客户端无法连接WCF服务的解决办法 (转)
- [原] VS新添加WebApplication项目,无法运行,请求帮助,问题如何解决
- 如何避免Docker容器启动脚本运行后自动退出——一个cron定时任务docker镜像方案
- DOCKER 给运行中的容器添加映射端口
- VMware-console客户端 出现”目标主机积极拒绝,无法连接” 怎么 如何 解决 方法 ?
- Android Google Maps开发笔记:【4】如何解决添加Google Maps Project无法运行
- 解决Win32 SDK编程添加list control控件程序无法运行的问题 . 和如何画进度条
- 如何在 Windows 操作系统中运行 Docker 客户端
- 运行中的docker配置端口映射(添加/删除)
- Docker安装mysql镜像及客户端无法连接
- (备忘)运行中的docker配置端口映射(添加/删除)
- Docker容器端口映射后突然无法连接的排查过程
- docker 动态映射运行的container端口实例详解
- docker 安装 MySQL客户端连接错误
- 解决arcgis desktop 添加 arcgis server 提示无法连接问题
- win7系统运行命令如何添加到开始菜单栏?
- WinHex分析PE格式(2)&& 如何手动添加区段并运行区段
- MySQL无法同时多个客户端进行连接解决方案
- VS2008如何自动添加消息映射 .