在 CentOS 上使用 Docker 跑微服务,一般流程是:准备环境 → 构建镜像 → 运行容器 →(可选)用 Docker Compose / K8s 编排。下面按“实战步骤”给你讲清楚。
# 卸载旧版本
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
docker version
docker run hello-world
FROM openjdk:8-jdk-alpine
COPY target/user-service.jar app.jar
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "/app.jar"]
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
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
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:
docker-compose up -d
http://user-service:8080)✅ 使用 Nacos / Eureka 做服务发现
✅ 使用 Gateway 做统一入口
✅ 使用 Docker Compose / K8s 管理
✅ 日志挂载:
-v /data/logs:/logs
✅ 配置外部化(环境变量 / config)
Client
↓
API Gateway
↓
User Service
Order Service
Payment Service
↓
MySQL / Redis
如果你愿意,可以告诉我:
我可以直接帮你写 完整可运行的 Docker + 微服务方案。