服务器微服务环境搭建核心是「容器化+依赖分离+网络互通」,用docker统一管理redis、mysql、nacos等中间件及业务服务的生命周期,通过自定义网络实现容器间通信,全程可复现、易维护、上线快。

服务器微服务环境搭建,核心是「容器化 + 依赖分离 + 网络互通」。不靠手动装一堆软件、改一堆配置,而是用 Docker 统一管理服务生命周期,让每个微服务和中间件(如 Redis、MySQL、Nacos)跑在独立容器里,彼此通过自定义网络通信。整个过程可复现、易维护、上线快。
装好 Docker 和基础运行时
这是所有后续操作的前提。CentOS 7/8 或主流国产 OS(如 OpenCloudOS、Anolis)都适用:
- 先清理旧版本:yum remove docker* containerd* -y
- 装依赖:yum install -y yum-utils device-mapper-persistent-data lvm2
- 加阿里云 Docker 仓库:
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo - 安装并启用:
yum install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin - 启动并设开机自启:
systemctl start docker && systemctl enable docker - 配镜像加速(提升拉取速度):往
/etc/docker/daemon.json写 registry-mirrors,再systemctl restart docker
准备常用中间件容器
微服务离不开注册中心、缓存、数据库等支撑组件。建议统一用 Docker 启动,并挂载配置与数据目录,避免容器重启丢数据:
-
Redis:创建
/data/redis/{conf,data},写好redis.conf(开启appendonly yes),运行:docker run -p 6379:6379 --name redis -v /data/redis/conf/redis.conf:/etc/redis/redis.conf -v /data/redis/data:/data --privileged -d redis redis-server /etc/redis/redis.conf -
Nacos(注册+配置中心):推荐用 MySQL 持久化。先建库,再运行官方镜像(如
nacos/nacos-server:v2.3.2),挂载application.properties并指定MYSQL_SERVICE_HOST等参数 -
MySQL:用
mysql:8.0镜像,挂载/var/lib/mysql和/etc/mysql/conf.d,初始化 root 密码并授权远程访问
构建和运行微服务应用
Java 微服务通常打包成 JAR,Python/Go 则按语言习惯构建镜像。关键点是:别直接用 openjdk:17 原生镜像(体积大、有安全风险),优先选 slim 或 alpine 基础镜像:
- 写
Dockerfile示例(Spring Boot):FROM openjdk:17-jdk-slimCOPY target/app.jar /app.jarEXPOSE 8080ENTRYPOINT ["java","-jar","/app.jar"] - 构建镜像:
docker build -t my-service . - 运行并连入自定义网络(比如叫
prod-net):docker run -d --network prod-net --name service-a -p 8081:8080 my-service - 多个服务之间可通过容器名互相访问(如 service-a 调 service-b,直接用
http://service-b:8080)
用 Docker Compose 编排整套环境
单个 docker run 命令难管理,推荐用 docker-compose.yml 把所有服务声明在一起,一键启停:
- 定义网络:
networks: { prod-net: { driver: bridge, ipam: { config: [{ subnet: "10.25.100.0/24" }] } } } - 每个服务声明 image、ports、volumes、depends_on、networks
- 启动:
docker compose up -d;查看状态:docker compose ps;日志:docker compose logs -f service-a - 后续更新只需改代码 → 重新 build →
docker compose down && docker compose up -d











