温馨提示×

ubuntu docker怎样编排服务

小樊
40
2026-09-04 11:48:31
栏目: 智能运维

在 Ubuntu 上使用 Docker 编排服务,常见方式有以下几种,从简单到生产级分别是:


一、使用 Docker Compose(最常用,适合单机/开发测试)

1. 安装 Docker 和 Docker Compose

sudo apt update
sudo apt install docker.io docker-compose -y
sudo systemctl enable --now docker

2. 编写 docker-compose.yml

示例(Web + MySQL):

version: "3.8"

services:
  web:
    image: nginx:latest
    ports:
      - "8080:80"
    volumes:
      - ./html:/usr/share/nginx/html
    depends_on:
      - db

  db:
    image: mysql:8.0
    environment:
      MYSQL_ROOT_PASSWORD: rootpass
      MYSQL_DATABASE: demo
    volumes:
      - db_data:/var/lib/mysql

volumes:
  db_data:

3. 启动服务

docker-compose up -d

4. 常用命令

docker-compose ps
docker-compose logs
docker-compose down

✅ 适合:单机部署、开发、测试、小型项目


二、使用 Docker Swarm(Docker 原生集群编排)

1. 初始化 Swarm(管理节点)

docker swarm init

2. 添加工作节点(其他 Ubuntu 机器)

docker swarm join --token <token> <manager-ip>:2377

3. 使用 Compose 文件部署 Stack

docker stack deploy -c docker-compose.yml myapp

4. 查看服务

docker service ls
docker stack ps myapp

✅ 适合:多机、轻量集群、不想引入 Kubernetes


三、使用 Kubernetes(生产级推荐)

方式一:MicroK8s(Ubuntu 官方推荐)

sudo snap install microk8s --classic
sudo microk8s enable dns dashboard storage

方式二:kubeadm(标准 K8s)

# 安装 kubeadm、kubelet、kubectl
sudo apt install -y kubeadm kubelet kubectl
sudo kubeadm init

部署服务

kubectl apply -f deployment.yaml
kubectl get pods

✅ 适合:大规模、高可用、企业生产环境


四、选择建议

场景 推荐方式
本地开发 Docker Compose
单服务器多容器 Docker Compose
多台服务器 Docker Swarm
生产环境 Kubernetes

如果你有具体需求(比如:Web + 数据库 + 缓存、自动重启、网络隔离、HTTPS),可以告诉我,我可以直接帮你写一份可用的编排文件。

0