# docker **Repository Path**: milobugs/docker ## Basic Information - **Project Name**: docker - **Description**: docker快速搭建开发环境 - **Primary Language**: Docker - **License**: AFL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-08-14 - **Last Updated**: 2026-04-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 项目名称 milo-docker ## 介绍 该项目是一个基于Docker的开发环境快速搭建方案,包含多个服务组件,如MySQL、Redis、Nacos、RocketMQ、RabbitMQ、Gitea等,适用于微服务架构的开发和部署。 ## 软件架构 项目采用微服务架构,主要组件包括: - **数据库服务**: MySQL 5.7 和 MySQL 8.0 - **缓存服务**: Redis - **配置中心**: Nacos - **消息队列**: RocketMQ 和 RabbitMQ - **代码管理工具**: Gitea - **其他服务**: 包括自定义的Java应用服务等 ## 安装教程 ### 前提条件 - 安装Docker和Docker Compose - 安装Git ### 前后端分离项目部署 1.需要创建docker网络,所有容器都在一个网络中,方便容器间通信。 2.保证映射的端口号没有被占用。 3.前端项目部署到nginx容器中,访问后端服务是,已经是容器之间的通信 ### Docker Compose网络名注意事项 Compose文件中的网络名是当前compose项目内部的别名,不一定等于Docker里最终创建出来的真实网络名。 例如在 `docker/docker-compose-env.yml` 或 `docker/mysql/docker-compose.yml` 中配置: ```yaml networks: milo-network: driver: bridge ``` 如果在 `docker` 目录启动,Compose默认项目名是目录名 `docker`,最终真实网络名会是: ```text docker_milo-network ``` 如果在 `docker/nacos` 目录单独启动 `docker-compose.yml`,Compose默认项目名会变成 `nacos`,同样的 `milo-network` 会创建成: ```text nacos_milo-network ``` 这两个网络不是同一个网络。即使compose文件里都写了 `milo-network`,容器也无法互相解析服务名,例如Nacos可能无法解析 `milo-mysql-8.0`。 单独启动某个子目录服务时,如果它需要连接已经由总compose创建的容器,推荐显式使用外部网络: ```yaml networks: milo-network: external: true name: docker_milo-network ``` 或者启动时指定同一个项目名: ```shell docker compose -p docker up -d ``` 详细部署指南请参考:[Docker部署指南](./doc/docker-deployment-guide.md)