Docker的安裝和鏡像管理並利用Docker容器實現nginx的負載均衡、動靜分離

Docker的安裝html

1、Docker的概念linux

Docker 是一個開源的應用容器引擎,讓開發者能夠打包他們的應用以及依賴包到一個可移植的容器中,而後發佈到任何流行的 Linux 機器上,也能夠實現虛擬化。容器是徹底使用沙箱機制,相互之間不會有任何接口。nginx

 

2、安裝Dockerweb

1.檢查內核版本docker

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

Docker要求CentOS7最低內核版本爲3.1版本vim

2. 關閉防火牆和selinuxcentos

# systemctl stop firewalld瀏覽器

# setenforce 0tomcat

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

相關文章
相關標籤/搜索