资讯专栏INFORMATION COLUMN

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

CHENGKANG / 1675人阅读

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

一、问题

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

二、环境

外网IP:xxx.xxx.xxx.xxx

Mongo数据库内网IP:192.168.100.3

Mongo数据库端口27017

三、实现步骤

1.宿主机下载docker镜像

docker pull haproxy

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

mkdir /usr/local/etc/haproxy
vim /usr/local/etc/haproxy/haproxy.cfg
#配置的haproxy.cfg文件
global
    log         127.0.0.1 local2
    chroot      /usr/local/etc/haproxy
    pidfile     /var/run/haproxy.pid
    maxconn     4000
    #user        haproxy
    #group       haproxy
    daemon
    # turn on stats unix socket
    stats socket /usr/local/etc/haproxy/stats
defaults
    log     global
    log 127.0.0.1 local3
    mode    http
    option tcplog
    option  dontlognull
    retries 10
    option redispatch
    maxconn         2000
    timeout http-request    10s
    timeout queue           1m
    timeout connect         10s
    timeout client          1m
    timeout server          1m
    timeout http-keep-alive 10s
    timeout check           10s
listen  mongo
    bind xxx.xxx.xxx.xxx:27017
    mode tcp
    balance roundrobin
    server mongo1 192.168.100.2:27017

3.创建且运行容器

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

4.在宿主机测试

mongo 127.0.0.1:27017

done

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

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

相关文章

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

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

    diabloneo 评论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
  • 服务发现与 Docker

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

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

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

    Tecode 评论0 收藏0

发表评论

0条评论

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