您的位置:首页 > 运维架构 > Docker

Docker的安装和镜像管理并利用Docker容器实现nginx的负载均衡、动静分离 Docker的安装 一、Docker的概念 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用

2018-01-22 17:27 1436 查看
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/ROOThub.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





直接修改属主机nginx的defalt.conf配置文件。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: