You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

115 lines
5.0 KiB

version: '3'
# 网桥 -> 方便相互通讯
networks:
smallboot:
ipam:
driver: default
config:
- subnet: "172.28.0.0/24"
services:
mysql:
image: registry.cn-hangzhou.aliyuncs.com/zhengqing/mysql:5.7 # 原镜像`mysql:5.7`
container_name: mysql5.7 # 容器名
restart: unless-stopped # 指定容器退出后的重启策略为始终重启,但是不考虑在Docker守护进程启动时就已经停止了的容器
volumes: # 数据卷挂载路径设置,将本机目录映射到容器目录
- "./mysql5.7/my.cnf:/etc/mysql/my.cnf"
- "./mysql5.7/data:/var/lib/mysql"
# - "./mysql5.7/conf.d:/etc/mysql/conf.d"
- "./mysql5.7/log/mysql/error.log:/var/log/mysql/error.log"
- "./mysql5.7/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d" # 可执行初始化sql脚本的目录 -- tips:`/var/lib/mysql`目录下无数据的时候才会执行(即第一次启动的时候才会执行)
environment: # 设置环境变量,相当于docker run命令中的-e
TZ: Asia/Shanghai
LANG: en_US.UTF-8
MYSQL_ROOT_PASSWORD: root # 设置root用户密码
MYSQL_DATABASE: demo # 初始化的数据库名称
ports: # 映射端口
- "3306:3306"
hostname: mysql
networks:
smallboot:
ipv4_address: 172.28.0.10
# ----------------------------------------------------------------------------------------------------------------------------
redis:
image: registry.cn-hangzhou.aliyuncs.com/zhengqing/redis:7.0.5 # 镜像'redis:7.0.5'
container_name: redis # 容器名为'redis'
restart: unless-stopped # 指定容器退出后的重启策略为始终重启,但是不考虑在Docker守护进程启动时就已经停止了的容器
command: redis-server /etc/redis/redis.conf --requirepass 123456 --appendonly no # 启动redis服务并添加密码为:123456,默认不开启redis-aof方式持久化配置
# command: redis-server --requirepass 123456 --appendonly yes # 启动redis服务并添加密码为:123456,并开启redis持久化配置
environment: # 设置环境变量,相当于docker run命令中的-e
TZ: Asia/Shanghai
LANG: en_US.UTF-8
volumes: # 数据卷挂载路径设置,将本机目录映射到容器目录
- "./redis/data:/data"
- "./redis/config/redis.conf:/etc/redis/redis.conf" # `redis.conf`文件内容`http://download.redis.io/redis-stable/redis.conf`
ports: # 映射端口
- "9379:6379"
networks:
smallboot:
ipv4_address: 172.28.0.11
# ----------------------------------------------------------------------------------------------------------------------------
minio:
image: registry.cn-hangzhou.aliyuncs.com/zhengqing/minio:RELEASE.2023-01-02T09-40-09Z # 原镜像`minio/minio:RELEASE.2023-01-02T09-40-09Z`
container_name: minio # 容器名为'minio'
restart: unless-stopped # 指定容器退出后的重启策略为始终重启,但是不考虑在Docker守护进程启动时就已经停止了的容器
volumes: # 数据卷挂载路径设置,将本机目录映射到容器目录
- "./minio/data:/mnt/data" # 数据
- "./minio/config/config.env:/etc/config.env" # 配置文件
environment: # 设置环境变量,相当于docker run命令中的-e
TZ: Asia/Shanghai
LANG: en_US.UTF-8
MINIO_CONFIG_ENV_FILE: "/etc/config.env"
command: server --console-address ":9090"
ports: # 映射端口
- "9001:9000"
- "9090:9090"
networks:
smallboot:
ipv4_address: 172.28.0.12
# ----------------------------------------------------------------------------------------------------------------------------
api:
image: registry.cn-hangzhou.aliyuncs.com/zhengqingya/smallboot-api:prod
container_name: api
restart: unless-stopped
volumes:
- "./smallboot/logs:/logs"
environment:
TZ: Asia/Shanghai
LANG: en_US.UTF-8
server.port: 888
JAVA_OPTS: -XX:+UseG1GC
spring.profiles.active: prod
# smallboot.ip: 127.0.0.1
ports:
- "888:888"
depends_on:
- mysql
- redis
- minio
networks:
smallboot:
ipv4_address: 172.28.0.13
mem_limit: 3000m
# ----------------------------------------------------------------------------------------------------------------------------
web:
image: registry.cn-hangzhou.aliyuncs.com/zhengqingya/smallboot-web:prod
container_name: web
restart: always
environment:
TZ: Asia/Shanghai
LANG: en_US.UTF-8
ports:
- "80:80"
depends_on:
- mysql
- redis
- minio
- api
networks:
smallboot:
ipv4_address: 172.28.0.15