2 Star 20 Fork 11

wwx/javaweb-compose

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
docker-compose.yml 7.32 KB
一键复制 编辑 原始数据 按行查看 历史
wwx 提交于 2019-03-05 10:17 . 更新最新的脚本,支持配置GIT更新
version: '2'
services:
#====================================================================================================================#
#================================================== tomcat-jre install ==============================================#
#====================================================================================================================#
# 1.默认: 放置ROOT目录 8080端口 访问地址:http://112.74.185.172:8080/ -> 修改IP即可
tomcat:
hostname: tomcat
# only [a-zA-Z0-9][a-zA-Z0-9_.-] are allowed
container_name: tomcat-8.5.35-jre8
# 2.解决容器的依赖、启动先后的问题
depends_on:
- mysql
- redis_master
- redis_slave
- activemq
# 3.选择自己镜像构建的方式 -> image: 远程仓库拉取 or build:上下文构建(可对项目代码进行)
# image: tomcat:8.5.35-jre8
build: ./tomcat
# 4.可通过./tomcat/conf/server.xml设置服务端口
ports:
- 8080:8080
# 5.定义IP网络
networks:
staticneta:
ipv4_address: 172.20.1.2
# - 80:80
# - 443:443
# 6.挂载目录
volumes:
- ./tomcat/webapps:/usr/local/tomcat/webapps
- ./tomcat/logs:/usr/local/tomcat/logs
- ./tomcat/conf:/usr/local/tomcat/conf
# 7.设置环境变量: 时区与编码
# 你可以使用数组或字典两种格式
# 只给定名称的变量会自动获取运行 Compose 主机上对应变量的值,可以用来防止泄露不必要的数据
environment:
JAVA_OPTS: -Dfile.encoding=UTF-8
TZ: Asia/Shanghai
LANG: en_US.UTF-8
# 8.生产环境配置:指定容器退出后的重启策略为始终重启, 对保持服务始终运行十分有效
restart: always
# restart: unless-stopped
#====================================================================================================================#
#================================================== mysql install ===================================================#
#====================================================================================================================#
mysql:
hostname: mysql
container_name: mysql-5.7
# 1. 选择自己镜像构建的方式 -> image: 远程仓库拉取 or build:上下文构建
# image: mysql:5.7
build: ./mysql
ports:
- 3308:3306
# 2. 定义IP网络
networks:
staticneta:
ipv4_address: 172.20.1.3
environment:
# 3. 设置数据库密码等
MYSQL_ROOT_PASSWORD: yourpassword
# MYSQL_DATABASE: xxx
# MYSQL_USER: xxx
# MYSQL_PASSWORD: xxx123456
TZ: Asia/Shanghai
LANG: en_US.UTF-8
volumes:
# 4. 指定自定义的mysql配置文件./mysql/conf/custom.cnf启动数据库
- ./mysql/conf:/etc/mysql/conf.d
# 5. 挂载数据存储目录,持久化数据库.
- ./mysql/data:/var/lib/mysql
# 6. 挂载数据库定时自动备份目录,见 ./mysql : Dockerfile - > backup.sh ★★★ 填写:备份数据库名/用户名/密码 ★★★
- ./mysql/backup:/backup
# 7. 挂载日志:通用日志,错误日志,慢日志,二进制日志等 -> 具体可见./mysql/conf/custom.cnf
# 8. 数据恢复
# 1>进入容器
## docker exec -it e7 bash
# 2>binlog 日志内容解析
## mysqlbinlog --no-defaults /var/lib/mysql/mysql-bin.000004
# 3>找到恢复到时间点
## mysqlbinlog --no-defaults --stop-datetime='2018-12-12 15:33:29' /var/lib/mysql/mysql-bin.000004 |mysql -uroot -p
# 9. TODO 主从复制
# 9. TODO 读写分离
# 生产环境配置:指定容器退出后的重启策略为始终重启, 对保持服务始终运行十分有效
restart: always
# restart: unless-stopped
#====================================================================================================================#
#================================================== redis install ===================================================#
#====================================================================================================================#
redis_master:
hostname: redis-master
container_name: redis-master-5.0.2
# 1.选择自己镜像构建的方式 -> image: 远程仓库拉取 or build:上下文构建
# image: redis:5.0.2
build: ./redis-master
ports:
- 6379:6379
# 2.定义IP网络
networks:
staticneta:
ipv4_address: 172.20.1.4
volumes:
- ./redis-master/data:/data
# 3.设置redis配置文件:./redis/conf/redis.conf 默认设置内容如下:
### requirepass yourpassword
### bind: 0.0.0.0
### loglevel notice
### logfile "redis.log"
- ./redis-master/conf/redis.conf:/usr/local/etc/redis/redis.conf
# 生成容器后要执行的命令
command: redis-server /usr/local/etc/redis/redis.conf
# 4.设置环境变量: 时区与编码
environment:
TZ: Asia/Shanghai
LANG: en_US.UTF-8
# 5.生产环境配置:指定容器退出后的重启策略为始终重启, 对保持服务始终运行十分有效
restart: always
redis_slave:
hostname: redis-slave
container_name: redis-slave-5.0.2
# 1.选择自己镜像构建的方式 -> image: 远程仓库拉取 or build:上下文构建
#image: redis:5.0.2
build: ./redis-slave
ports:
- 6380:6380
# 2.定义IP网络
networks:
staticneta:
ipv4_address: 172.20.1.5
volumes:
- ./redis-slave/data:/data
# 3.设置redis配置文件:./redis/conf/redis.conf 默认设置内容如下:
### requirepass yourpassword
### bind: 0.0.0.0
### loglevel notice
### logfile "redis.log"
### port 6380
### masterauth yourpassword
### slaveof redis_master 6379
- ./redis-slave/conf/redis.conf:/usr/local/etc/redis/redis.conf
# 生成容器后要执行的命令
command: redis-server /usr/local/etc/redis/redis.conf
# 4.设置环境变量: 时区与编码
environment:
TZ: Asia/Shanghai
LANG: en_US.UTF-8
# 5.生产环境配置:指定容器退出后的重启策略为始终重启, 对保持服务始终运行十分有效
restart: always
#====================================================================================================================#
#================================================== activemq install ================================================#
#====================================================================================================================#
activemq:
hostname: activemq
container_name: activemq-5.14.3
# 选择自己镜像构建的方式 -> image: 远程仓库拉取 or build:上下文构建
# image: webcenter/activemq
build: ./activemq
ports:
- 8161:8161
- 61616:61616
# 定义IP网络
networks:
staticneta:
ipv4_address: 172.20.1.6
volumes:
- ./activemq/data:/data/activemq
- ./activemq/logs:/var/log/activemq
environment:
ACTIVEMQ_ADMIN_LOGIN: admin
ACTIVEMQ_ADMIN_PASSWORD: admin
ACTIVEMQ_CONFIG_MINMEMORY: 512
ACTIVEMQ_CONFIG_MAXMEMORY: 2048
TZ: Asia/Shanghai
LANG: en_US.UTF-8
restart: always
# 定义网络
networks:
staticneta:
ipam:
config:
- subnet: 172.20.1.0/24
gateway: 172.20.1.1
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/wuweixiang/javaweb-compose.git
git@gitee.com:wuweixiang/javaweb-compose.git
wuweixiang
javaweb-compose
javaweb-compose
master

搜索帮助