注:操作之前我们要先确定本机已经安装docker 如果需要安装docker方法可看本人其他文章
1、拉取nginx+tomcat镜像
docker pull nginx
docker pull tomcat
2将两个容器实例启动起来cp容器内的文件
docker run -d -p 8080:8080 nginx
docker run -d -p 9090:9090 tomcat
docker exec -it 6c3fd2e379fa bash #进入tomcat容器
rm -rf webapps #删除tomcat容器中的webapps文件
mv webapps.dist/ webapps #将tomcat容器中的webapps.dist改名为 webapps
exit #退出容器
mkdir /opt/data #创建nginx的挂载目录
mkdir /opt/tomcat1 #创建tomcat1 的挂载目录
mkdir /opt/tomcat2 #创建tomcat2 的挂载目录
docker cp 容器id:/etc/nginx/ /opt/data/nginx1 #拷贝nginx1的配置
docker cp 容器id:/etc/nginx/ /opt/data/nginx2 #拷贝nginx2的配置
docker cp 容器id:/usr/local/tomcat/conf /opt/tomcat1 # 拷贝tomcat1的配置
docker cp 容器id:/usr/local/tomcat/webapps /opt/tomcat1 #拷贝tomcat1的web
docker cp 容器id:/usr/local/tomcat/conf /opt/tomcat2 # 拷贝tomcat2的配置
docker cp 容器id:/usr/local/tomcat/webapps /opt/tomcat2 #拷贝tomcat2的web
3、修改一下tomcat2的端口
vim /opt/tomcat2/conf/server.xml
4、为了方便区分将tomcat2的web页面修改一下
vim /opt/tomcat2/webapps/ROOT/index.jsp
5、修改nginx2的配置文件
vim /opt/data/nginx2/conf.d/default.conf
6、写一个简单的web页面
在自己桌面创建一个文本文件
在文件内添加内容
将文件名改为index.html
再创建一个文件夹改名为text 将index.html移动进去然后在文件夹内创建一个文件夹改名为img
然后将一张png的图片放在img问价夹内 即可
7、创建一个nginx2的web文件并将web页面移动到文件内
mkdir /opt/data/nginx2data
8、在Windows上配置hosts解析
8、修改nginx1的主配置文件
vim /opt/data/nginx1/nginx.conf #添加以下模块
upstream www.sy.com{
server 172.17.0.2:8080 weight=5; server 172.17.0.3:9090 weight=8; }
upstream curl.sy.com{ server 172.17.0.4:81; }
9、修改nginx1的子配置文件
vim /opt/data/nginx1/conf.d/default.conf
location / { proxy_pass http:www.sy.com; } location ~* \.(gif|jpg|jpeg|bmp|swf|png)$ { proxy_pass http:curl.sy.com; } location ~* \.(js|css)?$ { proxy_pass http:curl.sy.com; } location ~* \.(html)?$ { proxy_pass http:curl.sy.com; }
10、将我们之前启动的两个容器停止并删除
11、开始启动容器
启动nginx1动静分离+负载均衡容器:
docker run -d --name nginx1 -v /opt/data/nginx1:/etc/nginx -p 80:80 nginx
启动tomcat1:
docker run -d --name tomcat1 -p 8080:8080 -v /opt/tomcat1/conf/:/usr/local/tomcat/conf/ -v /opt/tomcat1/webapps/:/usr/local/tomcat/webapps/ tomcat
启动tomcat2:
docker run -d --name tomcat2 -p 9090:9090 -v /opt/tomcat2/conf/:/usr/local/tomcat/conf/ -v /opt/tomcat2/webapps/:/usr/local/tomcat/webapps/ tomcat
启动nginx2:
docker run -d --name nginx2 -v /opt/data/nginx2:/etc/nginx -v /opt/data/nginx2data/text:/home/nginx -p 81:81 nginx
11、查看容器的IP对nginx.conf文件进行对应
docker inspect 容器id
我这边
tomcat1对应的IP是172.17.0.3
tomcat2的IP是172.17.0.4
nginx2的IP是172.17.0.5
vim /opt/data/nginx1/nginx.conf #打开nginx1进行修改
12、修改好对应的IP后重启容器
13、在浏览器进行访问动态和静态页面
访问动态页面:
www.sy.com 多次刷新的话会在两个tomcat页面之间跳转
www.sy.com/index.html 访问的是nginx静态页面
现在所有配置已经完成
精彩内容
发表评论