博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用docker-compose定制Javaweb环境
阅读量:7026 次
发布时间:2019-06-28

本文共 2019 字,大约阅读时间需要 6 分钟。

hot3.png

背景

为了标准化流程与简易化部署,本项目构建一套简易的 JAVA 的开发/运行环境,最终达到 build,ship,run!

依赖

  • >= 1.12
  • Windows/macOS 版 Docker 已包含

快速部署步骤

  1. $ git clone https://gitee.com/wuweixiang/javaweb-compose.git
  2. $ cd javaweb-compose
  3. $ docker-compose up
  4. 访问

运维命令:

$ docker-compose help   # docker-compose 命令帮助$ docker-compose up     # 创建并启动 docker 编排服务$ docker-compose down   # 停止并移除 docker 编排服务 (更改配置文件时建议使用)$ docker-compose exec javaweb-compose bash # ssh 登入 java 容器

数据库信息

  • hostname: mysql

此处的数据库连接地址 hostname 值为 mysql ,容器中会在自己的 /etc/hosts 中添加一条 1xx.xx.xx.xx mysql 的 host,这会将 http://mysql 这个地址指向 mysql 容器的实际内网地址,等效于常见的 http://localhost

数据持久化

容器内的数据会随着容器的销毁而丢失,所以需要配置 docker-compose.yml 文件将以下目录同步到你的物理机目录进行持久化:

  • /var/lib/mysql MySQL 的文件存放目录,必须挂载,否则销毁容器后数据丢失。
  • /usr/local/tomcat/logs Tomcat 的日志目录,挂载后查看日志无须进入容器内部。
  • /data Redis数据存储目录。
  • /data/activemq activemq数据存储目录。

项目部署

数据库信息,暴露端口等信息都在 docker-compose.yml 中配置,一切调试完成后可在启动命令后添加 -d 参数,让其后台启动,此时如果想实时查看启动日志可以使用 docker-compose logs -f 进行查看。

# 后台启动运行$ docker-compose up -d# 跟踪查看启动日志$ docker-compose logs -f

版本信息

  • JAVA1.8
  • MySQL5.7
  • Tomcat8.5.35
  • Redis5.0.2
  • ActiveMQ5.14.3

版本信息可在 Dockerfile 中进行修改,修改 Dockerfile 后需要将 docker-compose 中的构建方式改为构建本地镜像:

# 免构建镜像# image: redis:5.0.2# 构建本地镜像  build: ./redis

修改完成后启动时需要重新构建镜像:

$ docker-compose up --build

目录结构

javaweb-compose/├── activemq│   ├── data  # 容器数据挂载目录│   ├── Dockerfile   # activemq 构建文件│   └── logs   # 容器日志挂载目录├── docker-compose.yml  # docker-compose 配置文件├── gitclone-javaweb│   └── readme.md │        方式一(TODO): │        在./tomcat下通过 Shell脚本(通过Dockerfile去触发)│        1. 将代码Clone到此目录下│        2. 编译成war│        3. 将war包放置./tomcat/webapps/下│        方式二:│        直接将war包放置./tomcat/webapps/下├── mysql│   ├── conf  # 容器配置挂载目录│   ├── data  # 容器数据挂载目录│   └── Dockerfile   # MySQL 构建文件├── README.md├── redis│   ├── conf   # 容器配置挂载目录│   ├── data   # 容器数据挂载目录│   └── Dockerfile└── tomcat    ├── conf    # 容器配置挂载目录    ├── Dockerfile   # Tomcat 构建文件    ├── logs   # 容器日志挂载目录    └── webapps        └── ROOT   # tomcat默认ROOT项目

转载于:https://my.oschina.net/wuweixiang/blog/2966911

你可能感兴趣的文章
【poj解题】3664
查看>>
linux 加固措施
查看>>
OpenStack简单测试性能监控数据记录
查看>>
AngularJS中的依赖注入
查看>>
HttpWebRequest模拟登陆,存储Cookie以便登录请求后使用
查看>>
八进制
查看>>
python网络爬虫笔记(五)
查看>>
java面试题——中间件&&数据库&&redis(三)
查看>>
batch normalization在测试时的问题
查看>>
PhoneGap 简单使用
查看>>
Python时间和日期
查看>>
二叉树节点的删除
查看>>
计算机网络面试总结
查看>>
在线看电视(清晰方便)
查看>>
AngularJs中,如何在render完成之后,执行Js脚本
查看>>
【BZOJ4298】[ONTAK2015]Bajtocja
查看>>
为什么C语言中int的表示范围是-32768~32767
查看>>
有关位运算的基础知识和应用
查看>>
框架dubbox的简单使用
查看>>
codevs1163访问艺术馆 树形dp
查看>>