docker+nginx+tomcat+portainer部署Web项目

   日期:2024-12-27    作者:ch168 移动:http://3jjewl.riyuangf.com/mobile/quote/65426.html

准备镜像

 

构建tomcat镜像

下载jdk、tomcat压缩包,修改tomcat配置文件Content.xml和server.xml,编写Dockerfile重新构建

docker+nginx+tomcat+portainer部署Web项目

 

准备3台以上服务器

安装docker swarm环境,将所有服务器加入集群环境(至少3台机器作为主节点

创建tomcat nfs共享目录

 

启动nfs服务

 

创建docker volume链接nfs共享服务器

 

–opt o=addr=10.20.1.9 NFS服务器地址
–opt device=:/root/share 指向共享目录,也可以是共享目录下的子目录

创建服务网络

 

创建tomcat服务

 

–replicas=2创建两个副本
–name tomcat-cluster服务名称
–mount src=nfs-tomcat,dst=/usr/local/tomcat/webapps挂载nfs

弹性伸缩扩展容器服务副本

 

容器副本内部ip分布通常为每两个副本为一个ip

安装nginx

解压缩nginx-1.18.0.tar.gz,进入nginx目录

 

配置nginx

进入/usr/local/nginx

 
 
  • nginx负载均衡upstream地址配置必须为容器内部ip端口
  • 负载均衡暂时采用ip_hash解决session共享问题
  • 集群内所有服务器地址均可访问容器服务

部署portainer可视化容器管理

下载portainer镜像

 

创建数据卷

 

创建网络

 

创建portainer代理服务

 

创建portainer服务

 
  • 参数说明

–publish 9000:9000 :宿主机9000端口映射容器中的9000端口
–mount type=bind /var/run/docker.sock:/var/run/docker.sock :把宿主机的Docker守护进程(Docker daemon)默认监听的Unix域套接字挂载到容器中
–mount type=volume portainer_data:/data :把宿主机portainer_data数据卷挂载到容器/data目录
–constraint node.rolemanager 指定容器运行在管理节点上.
–constraint node.hostname
manager-node 指定容器运行在管理节点manager-node上.
–container-label com.docker.stack.namespace=portainer 是为了prometheus+grafana能通过stack标签查看监控数据,建议今后不以stack方式部署的服务都加上com.docker.stack.namespace标签

  • 注意

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号