美文网首页
docker 局域网的建立,与网络ip分配

docker 局域网的建立,与网络ip分配

作者: 非甲即丁 | 来源:发表于2019-05-15 20:09 被阅读0次

    我的博客文章网址:

    http://www.jloongking.cn/tp50/public/blog/index/blog?blogid=103

    docker 局域网的建立,与网络ip分配,实现简单的nginx负载均衡,请求分发。

    首先是 启动4个容器,这里就不仔细说了,不会的可以自行百度,或者查看文档

    我启动的是ubuntu16.04镜像,nginx是自己安装的

    docker组建网络命令:

        docker network create netname

    将3个容器加入到网络中的命令

        docker network connect netname container1

        docker network connect netname container2

        docker network connect netname container3

    查看3个容器的ip

    docker network inspect netname

    nginx负载均衡分发的配置如下

    upstream model{

    server 172.18.0.3 weight=1;

    server 172.18.0.4 weight=1;

    server 172.18.0.5 weight=1;

    #这里的三个ip是上一条命令中三个容器的ip

    }

    server {

    #listen 80 default_server;

    #listen [::]:80 default_server;

    listen 80;

    location / {

    # First attempt to serve request as file, then

    # as directory, then fall back to displaying a 404.

    proxy_pass http://model;

    proxy_redirect default;

    #try_files $uri $uri/ =404;

    }

    }

    配置三个容器的web应用,可以用各种方式,java+tomcat,nginx+php,django等等http服务,

    这里我记录了一下我的django 的网站配置

    apt-get install python3

    apt-get install curl

    curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

    python3 get-pip.py

    pip3 install django

    django-admin startproject SessionTest

    但是这里由于三台服务器没有办法进行session共享,所以利用了redis进行session的共享

    首先安装django-redis-sessions

    pip3 install django-redis-sessions

    写两个view检测session是否共享成功

    from django.http import HttpResponse

    from django.conf import settings

    def set_session(request):

       request.session['username'] = 'Django'

       request.session['verify_code'] = '123456'

       return HttpResponse('设置session完成!')

    def get_session(request):

       username = request.session.get('username')

       verify_code = request.session.get('verify_code')

       text = '1username=%s, verify_code=%s' % (username, verify_code)

       return HttpResponse(text)

    配置setting.py 共同访问redis服务器,这里的redis服务器也是通过docker建立,并且将它放入到了局域网中

    SESSION_ENGINE = 'redis_sessions.session'

    SESSION_REDIS_HOST = '172.18.0.6' redis局域网中的ip

    SESSION_REDIS_PORT = 6379

    SESSION_REDIS_DB = 4

    SESSION_REDIS_PASSWORD = ''

    SESSION_REDIS_PREFIX = 'session'

    相关文章

      网友评论

          本文标题:docker 局域网的建立,与网络ip分配

          本文链接:https://www.haomeiwen.com/subject/mtgmaqtx.html