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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM