1. 程式人生 > >Docker的安裝和鏡像管理並利用Docker容器實現nginx的負載均衡、動靜分離

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

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

技術分享


本文出自 “愛生活的小白” 博客,請務必保留此出處http://sf1314.blog.51cto.com/13295031/1980353

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