准备用docker 搞一个nginx 和两个Tomcat 负载均衡入门一下,熟悉一下docker,公司用不上docker这玩意搞得语法都快忘了。

先安装nginx
docker run --name nginx-test -p 80:80 -d nginx

安装Tomcat
docker run --name tomcat1 -p 8080:8080 -d tomcat
启动之后访问会有404问题,原因是webapps目录里面没有东西,东西都在webapps.dist文件中我们,webapps.dist文件中的东西复制到webapps中操作步骤如下
docker exec -it 容器id bash 先进入容器内部cp -r webapps.dist/* webapps 然后使用复制命令exit 最后退出容器docker restart 容器id 重启一下容器,再去访问就可以了(时间有点久,不知道是不是我服务器配置太低的原因)

这样第一个Tomcat就安装好了,我们开始第二个,第二个就不需要这么繁琐了,我们先将之前好的容器,打包成镜像直接运行就OK了
-a :提交的镜像作者-m :提交时的说明文字f13a8df5d14a 这个替换成你直接的容器id(查看容器id docker ps)tomcat:v1 版本号docker commit -a "liuqiyou" -m "lqyTomcat" f13a8df5d14a tomcat:v1
打包好镜像后查看镜像id docker images ,我的容器id是7fc1304a8e3c然后根据直接镜像id去运行 容器然后可以直接访问
docker run --name tomcat2 -p 8081:8080 -d 7fc1304a8e3c

这样就搭建好了基本环境,开始搭建,负载均衡吧
查看nginx 容器id 然后进入容器 编辑 nginx.conf文件 但是在容器中编辑文件需要下载vim指令
docker ps 查看容器iddocker exec -it 容器id bash 进入容器内部找到配置文件目录,pwd输出路径在复制路径,退出
通过docker 复制命令 将容器内部文件复制到,本地用vi去编辑(也可以自己去容器内部用vim编辑但是要下载命令)
docker cp 容器名:我们找到的配置文件路径 本地路径docker cp nginx-test:/etc/nginx/nginx.conf nginx.conf添加一个 upstream 自己取名 {server ip1 权重;server ip2 权重;}

还有一个include引入了一个.conf把这个也复制到本地编辑
location / {}里面添加proxy_pass http://tomcatserver;这个tomcatserver是我们在nginx.conf中 upstream中取的那个名字
然后我们把编辑好的,文件复制替换到容器中
docker cp 编辑好的文件 容器名:容器中要替换的文件全路径
docker cp ./nginx.conf nginx-test:/etc/nginx/nginx.confdocker cp ./default.conf nginx-test:/etc/nginx/conf.d/default.conf
最后重启容器 docker restart 容器id ,再次访问nginx如下,这样负载均衡入门就可以了

文章转载自琪友,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




