温馨提示×

centos docker怎么跑微服务

小樊
42
2026-09-21 01:55:33
栏目: 智能运维

CentOS 上使用 Docker 跑微服务,一般流程是:准备环境 → 构建镜像 → 运行容器 →(可选)用 Docker Compose / K8s 编排。下面按“实战步骤”给你讲清楚。


一、CentOS 环境准备

1. 安装 Docker

# 卸载旧版本
sudo yum remove docker docker-client docker-common docker-selinux

# 安装依赖
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

# 添加 Docker 源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

# 安装 Docker
sudo yum install -y docker-ce docker-ce-cli containerd.io

# 启动并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker

2. 验证

docker version
docker run hello-world

二、微服务镜像构建(以 Java 为例)

1. 编写 Dockerfile

FROM openjdk:8-jdk-alpine
COPY target/user-service.jar app.jar
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "/app.jar"]

2. 构建镜像

docker build -t user-service:1.0 .

三、运行单个微服务容器

docker run -d \
  --name user-service \
  -p 8080:8080 \
  user-service:1.0

查看日志:

docker logs -f user-service

四、多微服务(推荐 Docker Compose)

1. 安装 Docker Compose

sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

2. docker-compose.yml 示例

version: '3'
services:
  user-service:
    image: user-service:1.0
    ports:
      - "8080:8080"
    networks:
      - micro-net

  order-service:
    image: order-service:1.0
    ports:
      - "8081:8081"
    depends_on:
      - user-service
    networks:
      - micro-net

networks:
  micro-net:

3. 启动

docker-compose up -d

五、微服务间通信

  • 同一 Docker 网络:直接用服务名(如 http://user-service:8080
  • 注册中心(推荐):
    • Eureka / Nacos / Consul
    • 每个服务注册自己,互相发现

六、生产建议(重要)

✅ 使用 Nacos / Eureka 做服务发现
✅ 使用 Gateway 做统一入口
✅ 使用 Docker Compose / K8s 管理
✅ 日志挂载:

-v /data/logs:/logs

✅ 配置外部化(环境变量 / config)


七、示例架构(常见)

Client
  ↓
API Gateway
  ↓
User Service
Order Service
Payment Service
  ↓
MySQL / Redis

如果你愿意,可以告诉我:

  • 用什么语言(Java / Go / Node)
  • 是否用注册中心
  • 单机还是多机

我可以直接帮你写 完整可运行的 Docker + 微服务方案

0