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

Docker的安装和镜像管理并利用Docker容器实现nginx的负载均衡、动静分离的更多相关文章

  1. Docker安装nginx以及负载均衡

    首先在linux系统中新建一个data文件夹进行nginx容器的创建--即为:mkdir data. 一:第一次 1 第一步: 使用 docker pull nginx将nginx的镜像从仓库下载下来 ...

  2. 如何利用nginx实现负载均衡(总结)

    如何利用nginx实现负载均衡(总结) 一.总结 一句话总结: 推荐使用nginx七层(应用层)负载均衡的实现:配置那是相当的简单 1.nginx配置实例? |||-begin #这里的域名要和下面p ...

  3. 利用nginx实现负载均衡和动静分离

    1.Nginx介绍 Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器 . Nginx 是由 ...

  4. liunx 利用nginx 实现负载均衡

    一般采用软件实现负载均衡的有Nginx.apache.nginx 近年来使用频繁,其官网上面显示可以承载5万并发访问量,太牛了. nginx 相比 apache优势明显:Nginx 服务程序比较稳定, ...

  5. 若依项目利用nginx实现负载均衡及保持会话

    记录一下若依项目利用nginx实现负载均衡及保持会话的步骤. 此次作为试验性的测试,为了方便在本地window的环境上实现. 具体步骤: 1.安装两个tomcat8,可以下载一个后,另一个复制即可,下 ...

  6. Linux下利用nginx实现负载均衡

    linux下利用nginx实现负载均衡 前提条件: 1,安装好jdk 2,安装好tomcat和nginx(可以参考我前两篇文章) 满足前提条件后,要用nginx实现负载均衡,主要是靠配置nginx的配 ...

  7. [转帖]利用nginx实现负载均衡 | 哈希算法,sticky模块实现session粘滞

    利用nginx实现负载均衡 | 哈希算法,sticky模块实现session粘滞 2018年08月02日 10:06:03 Minza 阅读数 483 https://blog.csdn.net/ha ...

  8. [转]CENTOS 6.5 配置YUM安装NGINX+服务器负载均衡

    原文连接: CENTOS 6.5 配置YUM安装NGINX  http://blog.sina.com.cn/s/blog_69f467b70102uyux.html 参考博文: Centos下安装. ...

  9. 解决docker中使用nginx做负载均衡时并发过高时的一些问题

    # 解决docker中使用nginx做负载均衡时并发过高时的一些问题 1.问题产生原因: 由于通过nginx作为负载均衡服务,在访问并发数量达到一定量级时jmeter报错. nginx日志关键信息:a ...

随机推荐

  1. Socket编程(c语言示例)

    转自:http://blog.csdn.net/dxpqxb/article/details/8166423 前言 Socket可以看成在两个程序进行通讯连接中的一个端点,是连接应用程序和网络驱动程序 ...

  2. wc.exe C++实现

    目录 Github项目地址 PSP表格 解题思路 设计实现过程 测试运行 项目小结 Github项目地址 wc-project PSP表格 PSP2.1 Personal Software Proce ...

  3. [web] [vscode] 自定义语言缩进

    vscode 默认的html 语言的缩进有点过,貌似一个tab6个space, html看起来太空了,所幸的是可以自己调整单个语言的缩进模式. 方法如下 Preferences: Open User ...

  4. h2数据库 安装部署

    1.下载linux下的包,即全平台,网址:http://www.h2database.com/html/download.html 选择Platform-Independent Zip 2.把这个包上 ...

  5. NSValue 值

    前言 将任意数据类型包装成 OC 对象 1.比较两个 NSValue 类型数据的大小 NSValue *value1 = [NSValue valueWithPoint:NSMakePoint(10, ...

  6. 协程《三》gevent模块

    一 gevent模块 安装 pip3 install gevent Gevent 是一个第三方库,可以轻松通过gevent实现并发同步或异步编程,在gevent中用到的主要模式是Greenlet, 它 ...

  7. 【bzoj3930】选数 容斥原理+暴力

    Description 我们知道,从区间[L,H](L和H为整数)中选取N个整数,总共有(H-L+1)^N种方案.小z很好奇这样选出的数的最大公约数的规律,他决定对每种方案选出的N个整数都求一次最大公 ...

  8. The server of Nginx(一)——Nginx基础及静态网站的构建

    一.Nginx介绍 火了半边天的Nginx和Apache一样也是Web服务器,专为性能优化而开发,也可以像Squid一样做反向代理,或者邮件代理等许多用途,并有windows的移植版,其最知名的优点是 ...

  9. request payload

    最近在调试代码时发现有Request Payload的情况,从网上查一些文件,也都有较多的描述.下面我只是说明一下大家没有注意的地方 关于HTTP请求,都是通过URL及参数向后台发送数据.主要方式有G ...

  10. 【BZOJ3417】[POI2013]MOR-Tales of seafaring (最短路SPFA)

    [POI2013]MOR-Tales of seafaring 题目描述 一个n点m边无向图,边权均为1,有k个询问 每次询问给出(s,t,d),要求回答是否存在一条从s到t的路径,长度为d 路径不必 ...