1 Star 0 Fork 548

王自谦/EasyAdmin

forked from laker/EasyAdmin 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
docker-compose.yml 3.46 KB
一键复制 编辑 原始数据 按行查看 历史
laker 提交于 2024-03-27 11:10 . code refactor
# 构建镜像 docker-compose build
# 启动容器命令 docker-compose up 在后台执行该服务可以加上 -d,docker-compose up -d
# 停止删除命令 docker-compose down 删除容器同时删除卷docker-compose down -v
version: "3.4"
# 项目名称
name: easy-admin
services:
# 定义了mysql数据库
mysql:
# 容器名
container_name: mysql8
# 镜像
image: mysql:8.3
# 指定容器退出后的重启策略为始终重启,但是不考虑在Docker守护进程启动时就已经停止了的容器
restart: unless-stopped
command: [ "--max_connections=300","--default-authentication-plugin=mysql_native_password" ]
networks:
- app_net
# 映射端口
ports:
- "3306:3306"
# 设置环境变量,相当于docker run命令中的-e
environment:
TZ: Asia/Shanghai
# 初始化的数据库名称
MYSQL_DATABASE: laker
# 设置root用户密码
MYSQL_ROOT_PASSWORD: 123456
# 数据卷挂载路径设置,将本机目录映射到容器目录
volumes:
- mysqlData:/var/lib/mysql
# 将宿主机的 /var/lib/mysql/ 目录挂载到容器内的 /var/lib/mysql/ 目录
# 这样做的目的通常是为了将 MySQL 数据库的持久化存储在宿主机的数据卷中,以防止容器删除后数据丢失。
# - /var/lib/mysql/:/var/lib/mysql/
# 表示将宿主机中的 ./sql目录中的文件挂载到容器内的 /docker-entrypoint-initdb.d/目录中,
# 同时设置挂载为只读模式 (ro,即 read-only)。这个配置通常用于向 MySQL 数据库容器中初始化数据,比如在容器启动时执行 SQL 脚本以创建数据库表和插入初始数据。
- ./sql:/docker-entrypoint-initdb.d:ro
healthcheck:
test: [ "CMD", "mysqladmin" ,"ping", "-h", "localhost" ]
interval: 10s
timeout: 10s
retries: 3
# 定义了redis
redis:
container_name: redis6
image: redis:6-alpine
restart: unless-stopped
networks:
- app_net
ports:
- "6379:6379"
volumes:
- redisData:/data
- redisData:/etc/redis/redis.conf
# 定义了服务
easyadmin-server:
container_name: easyadmin-server
# 构建镜像
build:
# Dockerfile上下文路径
context: ./
# 指定 Dockerfile 文件的路径 Dockerfile中的路径 基于上面配置的`context`路径
dockerfile: Dockerfile
image: easyadmin-server
restart: unless-stopped
ports:
- "8080:8080"
networks:
- app_net
environment:
SPRING_PROFILES_ACTIVE: local
# 使用服务名称 mysql 替代 localhost 来访问 MySQL 服务
SPRING_DATASOURCE_URL: jdbc:mysql://mysql:3306/laker?serverTimezone=GMT%2B8&characterEncoding=utf8&useSSL=false&allowPublicKeyRetrieval=true
# 一个服务依赖于其他服务启动完成后才能启动
# 即当mysql和redis服务启动后,才启动easyadmin-server服务
# 注意:easyadmin-server 服务不会等待 mysql redis 完全启动之后才启动。
depends_on:
mysql:
condition: service_healthy
redis:
condition: service_started
volumes:
# 自定义的卷名,存储的路径不好找
redisData:
mysqlData:
networks:
# 配置docker network
app_net:
# 桥接模式是 Docker 默认的网络驱动程序,用于在容器间创建桥接网络,使它们能够相互通信
driver: bridge
ipam:
driver: default
config:
# 子网络
- subnet: 178.18.0.0/16
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/wang_zi_qian/easy-admin.git
git@gitee.com:wang_zi_qian/easy-admin.git
wang_zi_qian
easy-admin
EasyAdmin
master

搜索帮助