Files
easy-admin/docker-compose.yml
2024-03-21 14:28:56 +08:00

65 lines
2.4 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 启动命令 docker-compose up 在后台执行该服务可以加上 -d,docker-compose up -d
# 停止命令 docker-compose down
version: "3.4"
# 项目名称
name: easy-admin
services:
# 定义了mysql数据库
mysql:
# 容器名
container_name: mysql8
# 镜像
image: mysql:8
# 指定容器退出后的重启策略为始终重启但是不考虑在Docker守护进程启动时就已经停止了的容器
restart: unless-stopped
# 映射端口
ports:
- "3306:3306"
# 设置环境变量,相当于docker run命令中的-e
environment:
MYSQL_DATABASE: laker
MYSQL_ROOT_PASSWORD: 123456
# 数据卷挂载路径设置,将本机目录映射到容器目录
volumes:
# 将宿主机的 /var/lib/mysql/ 目录挂载到容器内的 /var/lib/mysql/ 目录
# 这样做的目的通常是为了将 MySQL 数据库的持久化存储在宿主机的数据卷中,以防止容器删除后数据丢失。
- /var/lib/mysql/:/var/lib/mysql/
# 表示将宿主机中的 ./sql/mysql/ruoyi-vue-pro.sql 文件挂载到容器内的 /docker-entrypoint-initdb.d/ruoyi-vue-pro.sql 文件,
# 同时设置挂载为只读模式 (ro即 read-only)。这个配置通常用于向 MySQL 数据库容器中初始化数据,比如在容器启动时执行 SQL 脚本以创建数据库表和插入初始数据。
- ./sql/easy-admin.sql:/docker-entrypoint-initdb.d/easy-admin.sql:ro
# 定义了redis
redis:
container_name: redis6
image: redis:6-alpine
restart: unless-stopped
ports:
- "6379:6379"
volumes:
- redisdata:/data
# 定义了服务
easyadmin-server:
container_name: easyadmin-server
# 构建镜像
build:
# Dockerfile上下文路径
context: ./
# 指定 Dockerfile 文件的路径 Dockerfile中的路径 基于上面配置的`context`路径
dockerfile: Dockerfile
image: easyadmin-server
restart: unless-stopped
ports:
- "8080:8080"
environment:
SPRING_PROFILES_ACTIVE: local
# 一个服务依赖于其他服务启动完成后才能启动
# 即当mysql和redis服务启动后才启动easyadmin-server服务
# 注意easyadmin-server 服务不会等待 mysql redis 完全启动之后才启动。
depends_on:
- mysql
- redis
volumes:
# 自定义的卷名,存储的路径不好找
redisdata: