资讯专栏INFORMATION COLUMN

Docker+Haproxy代理内网MongoDB数据库TCP

diabloneo / 3090人阅读

摘要:一问题内网有一台服务器安装了,因开发需要,要外网也能访问。查询资料后发现可以解决。方法是,用外网的服务器代理内网。二环境外网数据库内网数据库端口三实现步骤宿主机下载镜像宿主机添加配置文件用于容器挂载配置的文件创建且运行容器在宿主机测试

一、问题

内网有一台服务器安装了MongoDB,因开发需要,要外网也能访问。查询资料后发现Haproxy可以解决。方法是,用外网的服务器代理内网TCP。

二、环境

外网IP:xxx.xxx.xxx.xxx

Mongo数据库内网IP:192.168.100.3

Mongo数据库端口27017

三、实现步骤

1.宿主机下载docker镜像

</>复制代码

  1. docker pull haproxy

2.宿主机添加Haproxy配置文件(用于容器挂载)

</>复制代码

  1. mkdir /usr/local/etc/haproxy
  2. vim /usr/local/etc/haproxy/haproxy.cfg

</>复制代码

  1. #配置的haproxy.cfg文件
  2. global
  3. log 127.0.0.1 local2
  4. chroot /usr/local/etc/haproxy
  5. pidfile /var/run/haproxy.pid
  6. maxconn 4000
  7. #user haproxy
  8. #group haproxy
  9. daemon
  10. # turn on stats unix socket
  11. stats socket /usr/local/etc/haproxy/stats
  12. defaults
  13. log global
  14. log 127.0.0.1 local3
  15. mode http
  16. option tcplog
  17. option dontlognull
  18. retries 10
  19. option redispatch
  20. maxconn 2000
  21. timeout http-request 10s
  22. timeout queue 1m
  23. timeout connect 10s
  24. timeout client 1m
  25. timeout server 1m
  26. timeout http-keep-alive 10s
  27. timeout check 10s
  28. listen mongo
  29. bind xxx.xxx.xxx.xxx:27017
  30. mode tcp
  31. balance roundrobin
  32. server mongo1 192.168.100.2:27017

3.创建且运行容器

</>复制代码

  1. docker run -d --name haproxy --net=host -v /usr/local/etc/haproxy:/usr/local/etc/haproxy haproxy

4.在宿主机测试

</>复制代码

  1. mongo 127.0.0.1:27017

done

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/27407.html

相关文章

  • Docker+Haproxy代理内网MongoDB据库TCP

    摘要:一问题内网有一台服务器安装了,因开发需要,要外网也能访问。查询资料后发现可以解决。方法是,用外网的服务器代理内网。二环境外网数据库内网数据库端口三实现步骤宿主机下载镜像宿主机添加配置文件用于容器挂载配置的文件创建且运行容器在宿主机测试 一、问题 内网有一台服务器安装了MongoDB,因开发需要,要外网也能访问。查询资料后发现Haproxy可以解决。方法是,用外网的服务器代理内网TCP。...

    CHENGKANG 评论0 收藏0
  • Kubernetes Master High Availability 高级实践

    摘要:才云科技云开源高级工程师唐继元受邀社群,在线分享高级实践,介绍如何构建环境。除命令外的停止都是异常停止。 才云科技云开源高级工程师唐继元受邀DBAplus社群,在线分享《Kubernetes Master High Availability 高级实践》,介绍如何构建Kubernetes Master High Availability环境。 以下是分享实录: 大家好,我是才云科技的唐继...

    JiaXinYi 评论0 收藏0
  • 基于Docker搭建多节点Mesos/Marathon

    摘要:摘要在之前的一篇博客中,我介绍了基于搭建单机版,但是仅仅使用了单个节点。具有容错功能当容器由于节点崩溃等原因意外停止运行时,会自动将容器调度到其他节点。因此,目前仅适合运行无状态的服务,而数据库等有状态服务应该单独部署。 摘要: 在之前的一篇博客中,我介绍了基于Docker搭建单机版Mesos/Marathon,但是仅仅使用了单个节点。而在这篇博客中,我将介绍基于Docker搭建多节点...

    ConardLi 评论0 收藏0
  • 【负载均衡 ULB】技术架构:内网ULB4,外网ULB4,内网ULB7,外网ULB7以及模式比对

    摘要:单台服务器可以提供超过万并发连接,万,线速转发能力。外网负载均衡转发示意图如下与内网不同的是,外网流量是从公网进来的。这样上联交换机会根据算法,将流量负载均衡到集群中的各台服务器上。技术架构ULB (UCloud Load Balancer)提供流量分发的能力,保证业务可扩展和高可用。支持内网和外网两种场景,支持请求代理和报文转发两种转发模式。下文将分别介绍ULB的的请求代理(下简称ULB7...

    Tecode 评论0 收藏0
  • 服务发现与 Docker

    摘要:为了动态配置管理,当我们启动和停止一个新容器的时候,我们想后端能自动注册进负载均衡器。这是基本需求,叫做服务发现我们想负载均衡器能自动发现提供服务的容器。一个团队开发的简单的服务发现的工具。服务发现目标是减少或消除组件之间的手动的连接。 注:该文由 adetante 编写,原文地址为 Service discovery with Docker 这篇博客的第一篇文章,我将写一篇...

    DataPipeline 评论0 收藏0

发表评论

0条评论

diabloneo

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<