6月2日 23:43

Docker 怎么配合微服务架构?一个服务一个容器的实践方法

微服务架构的核心是一个服务一个进程——Docker 的容器天然就是为此设计的。每个微服务打包成独立镜像,独立部署、独立扩缩容。

一个服务一个容器

每个服务有自己的 Dockerfile,独立构建和部署。

服务间通信

同一 Docker 网络内,容器用服务名互相访问(http://user-service:3000),Docker 内置 DNS 自动解析。跨主机通信需要额外方案:Docker Swarm 用 Overlay 网络,Kubernetes 用 Service。

扩缩容

Compose 的 --scale 适合开发测试。生产环境用 K8s 的 HPA 自动扩缩容。

配置管理

不要把配置写死在镜像里。用环境变量注入,不同环境用不同 .env 文件。

Docker 微服务的局限

Docker Compose 适合 5-10 个服务的项目。超过 10 个服务应该用 Kubernetes——它提供自动扩缩容、滚动更新、服务发现、健康检查等编排能力。

标签:Docker