Docker学习007 -- Docker-compose 实现nginx动态代理两个tomcat
1.下载下载docker-compose2.授权3.常用命令docker-compose 常用命令地址4
·
目录
0.docker-compose
目的解决繁琐的部署各管理繁多的服务
注:依赖于python,centos7.8默认安装python,所以不需要安装python
1.准备
(1)下载 docker-compose
下载以后,将文件放在了 /usr/local/bin 文件下
(2)授权
测试环境,直接使用 777
chmod 777 /usr/local/bin/docker-compose
(3)卸载docker compose
rm -rf /usr/local/bin/docker-compose
(4)常用命令
2.docker-compose 配置
docker-compose使用 yml ,默认名称:docker-compose.yml
这里我使用的测试是:启动nginx,代理两个tomcat:tomcat1和tomcat2
① 在data文件新建三个文件,nginx tomcat1 tomcat2
cd /data
mkdir tomcat1 tomcat2 nginx
② 启动2个容器,nginx tomcat 直接将容器内的文件复制到本地 /data下,一个nginx,两个tomcat
docker run -itd --name nginx -p 80:80 nginx:1.19.3-alpine
docker run -itd --name tomcat -p 8081:8080 tomcat:9.0.20-jre8-alpine
docker cp nginx:/etc/nginx /data/
docker cp tomcat:/usr/local/tomcat/webapps /data/tomcat1/webapps
docker cp tomcat:/usr/local/tomcat/webapps /data/tomcat2/webapps
③ 修改tomcat的index.jsp文件内容
echo "tomcat1" > /data/tomcat1/webapps/ROOT/index.jsp
echo "tomcat2" > /data/tomcat2/webapps/ROOT/index.jsp
④ 删除掉现在的容器
docker rm -f nginx tomcat
⑤ 修改ngixn配置文件,在最后一行新增 include vhost/*.conf;
vi /data/nginx/nginx.conf
⑥新建vhost目录,新建 www.test.conf 并编辑内容,代理tomcat1 tomcat2
upstream nginxtest{
server 192.168.1.14:8081;
server 192.168.1.14:8082;
}
server{
listen 80;
server_name 192.168.1.14;
autoindex on;
index index.html index.htm index.jsp;
location / {
proxy_pass http://nginxtest; #这里注意名称要与 upstream 一致
add_header Access-Control-Allow-Origin *;
}
}
⑦ 配置docker-compose.yml文件
version: '3'
services:
test-nginx:
image: nginx:1.19.3-alpine
container_name: testnginx
restart: always
ports:
- 80:80
volumes:
- /data/nginx:/etc/nginx
test-tomcat1:
image: tomcat:9.0.20-jre8-alpine
container_name: tomcat1
ports:
- 8081:8080
volumes:
- /data/tomcat1/webapps:/usr/local/tomcat/webapps
depends_on:
- test-nginx
test-tomcat2:
image: tomcat:9.0.20-jre8-alpine
container_name: tomcat2
ports:
- 8082:8080
volumes:
- /data/tomcat2/webapps:/usr/local/tomcat/webapps
depends_on:
- test-nginx
3.测试
访问 ip:8081 显示 tomcat1
访问 ip:8082 显示 tomcat2
直接访问 ip 刷新,显示 tomcat1 tomcat2
更多推荐
已为社区贡献3条内容
所有评论(0)