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的負載均衡、動靜分離