zoukankan      html  css  js  c++  java
  • Docker的安装和镜像管理并利用Docker容器实现nginx的负载均衡、动静分离

    Docker的安装

    一、Docker的概念

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

     

    二、安装Docker

    1.检查内核版本

    # uname -r      查看当前linux得版本信息

    Docker要求CentOS7最低内核版本为3.1版本

    2. 关闭防火墙和selinux

    # systemctl stop firewalld

    # setenforce 0

    3.使用yum安装docker

    # yum install -y docker

    # systemctl start docker         开启docker服务

    _______________________________________________________________________________

    # ps aux | grep docker           查看docker服务

    # docker search nginx            查看nginx镜像

    (# docker pull centos:7  )     下载官方的 CentOS 镜像到本地

    # docker pull docker.io/nginx     下载nginx镜像

    # docker pull docker.io/tomcat    下载tomcat镜像

    由于Docker官方服务器在海外,因此不推荐使用,这里建议使用网易蜂巢镜像中心

    https://c.163.com/hub#/m/home/

    4.同步时间

    # date 022019512017

    5.安装docker -devel

    # yum -y install docker-devel

    6.下载镜像

    # docker pull hub.c.163.com/library/tomcat:latest

    # docker pull hub.c.163.com/library/nginx:latest

    # docker pull hub.c.163.com/public/centos:7.0

     

    # docker images                                 查看下载好的镜像

     

    这时创建容器会报错,因此需要修改/usr/lib/sysctl.d/00-system.conf

    添加如下代码:net.ipv4.ip_forward=1
    重启network服务

    # systemctl restart network

    在docker配置负载均衡

    创建nginx容器

    # docker tag db079554b4d2 nginx:111    修改镜像名字

    # docker run -ti -d -p 80:80 hub.c.163.com/library/nginx /bin/bash       创建nginx容器

    # docker ps (-a)                                     查看docker运行中(所有)容器      

     

    # docker exec -ti a62119e032b3 /bin/bash      进入后台容器并提供bash

    # /usr/sbin/nginx       启动nginx服务

    # apt-get update        升级vim

    # apt-get install vim        安装vim

    在宿主机的根目录创建两个tomcat的发布目录# mkdir www1 www2

     

    创建tomcat容器1&2(利用Xshell复制ssh渠道功能再开两个窗口)

    # docker run -ti -d -P -h tomcat1 -v /www1:/usr/local/tomcat/webapps/ROOT hub.c.163.com/library/tomcat /bin/bash

    # docker ps –a

     

    # docker exec -ti  f6725eb67195 /bin/bash

    # bin/startup.sh

    # docker run -ti -d -h tomcat2 -P -v /www2:/usr/local/tomcat/webapps/ROOT hub.c.163.com/library/tomcat /bin/bash

    # docker ps -a

    # docker exec -ti 5157b553106d /bin/bash

    # bin/startup.sh

    使用# docker ps -a在宿主机查看映射的端口

     

    为tomcat1&2映射的目录写下测试页面,我在这里使用tomcat1和tomcat2作为页面内容区分

    # cd /www1

    # vim index.jsp

    # cd /www2

    # vim index.jsp

     

    在nginx容器中进行负载均衡配置

    # vim /etc/nginx/nginx.conf

    upstream zeyu {

        server 192.168.81.60:32771;

        server 192.168.81.60:32772;

    }

     

    # vim /etc/nginx/conf.d/default.conf

       # location / {

       #     root   /usr/share/nginx/html;

       #     index  index.html index.htm;

       # }

        location ~ {

            proxy_pass http://zeyu;

            }

     

    # pkill nginx

    # /usr/sbin/nginx

    验证

     

    Docker的动静分离

    在Docker的nginx容器中修改

    # vim /etc/nginx/conf.d/default.conf

        location / {

            root   /usr/share/nginx/html;

            index  index.html index.htm;

        }

        location ~*.jsp$ {

            proxy_pass http://zeyu;

            proxy_redirect off;

            }

     

    # pkill nginx

    # /usr/sbin/nginx

    浏览器访问验证

    访问IP/index.html为nginx欢迎页面

     

    访问IP/index.jsp为tomcat测试页面1&2

  • 相关阅读:
    [cf1097F]Alex and a TV Show
    [cf1097E]Egor and an RPG game
    2.2 物理层下面的传输媒体
    2.1 物理层的基本概念
    8 垃圾回收
    7 直接内存
    6 方法区
    1.5 计算机网络体系结构
    1.4 计算机网络的性能指标
    1.3 计算机网络的定义和分类
  • 原文地址:https://www.cnblogs.com/zhangzeyu/p/6427249.html
Copyright © 2011-2022 走看看