代码拉取完成,页面将自动刷新
同步操作将从 laker/EasyAdmin 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
# 构建镜像 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
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。