微服务环境用Docker搭建的核心是将各服务及其依赖打包为独立容器并通过编排工具统一管理,实现一致、快启、好扩三大目标;需安装Linux/WSL2、Docker Engine≥24.0、Docker Compose≥v2.20,GPU场景额外配置NVIDIA Container Toolkit;每个服务单独构建镜像,编写Dockerfile并精简基础镜像,复制可执行包、暴露端口、设置启动命令;通过docker-compose.yml定义services、ports、environment、depends_on、healthcheck及volumes;使用docker compose up -d一键启动,logs、exec调试,down清理,全程不改代码、不依赖宿主机环境。

微服务环境用 Docker 搭建,核心是把每个服务和它的依赖打包成独立容器,并通过编排工具统一管理。不靠手动逐个启动,也不依赖宿主机环境,目标就三个:一致、快启、好扩。
先装好基础环境
- Linux(如 Ubuntu 20.04+/CentOS 7+)或 Windows + WSL2
- Docker Engine ≥ 24.0(验证:
docker version) - Docker Compose ≥ v2.20(验证:
docker compose version) - 若用 GPU 加速模型服务,额外装 NVIDIA Container Toolkit
每个微服务单独做镜像
- 在服务根目录写
Dockerfile,精简基础镜像(如openjdk:17-jre-slim或python:3.11-slim) - 复制构建好的可执行包(如 Spring Boot 的
target/*.jar或 Python 的app/目录) - 暴露正确端口(如
EXPOSE 8080),设好启动命令(如CMD ["java", "-jar", "app.jar"]) - 构建命令:
docker build -t user-service:v1 .
用 docker-compose.yml 编排整套环境
- 定义
services:每个微服务一项,加上中间件(MySQL、Redis、Nacos 等) - 配置关键项:
-
image或build(本地构建用build: .) -
ports做端口映射(如"8080:8080") -
environment注入配置(如SPRING_PROFILES_ACTIVE: dev) -
depends_on+healthcheck控制启动顺序(比如等 MySQL ready 再启业务服务) -
volumes挂载配置文件或数据目录(如./conf/:/app/config/)
-
一键启停与验证
- 启动全部:
docker compose up -d - 查看日志:
docker compose logs -f user-service - 进入容器调试:
docker compose exec user-service sh - 停止清理:
docker compose down(加-v可删卷,适合测试环境)
整个过程不用改代码,也不碰服务器全局环境。换台机器,拉下代码、运行一条 docker compose up,环境就齐了。


















