ubuntu

Docker在Ubuntu上如何实现容器编排

小樊
41
2025-09-02 17:50:23
栏目: 智能运维

在Ubuntu上实现Docker容器编排主要有以下两种常用方式:

一、使用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:
      web:
        image: nginx:latest
        ports: ["80:80"]
      db:
        image: mysql:5.7
        environment:
          MYSQL_ROOT_PASSWORD: example
    
  3. 启动容器

    docker-compose up -d  # 后台运行
    
  4. 管理容器

    • 查看运行状态:docker-compose ps
    • 停止服务:docker-compose stop
    • 扩展服务:docker-compose up -d --scale web=3

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

  1. 初始化Swarm集群
    在管理节点执行:

    docker swarm init --advertise-addr <管理节点IP>
    

    将输出的token用于工作节点加入集群:

    docker swarm join --token <token> <管理节点IP>:2377
    
  2. 部署服务

    docker service create --name nginx --replicas 3 --publish 8080:80 nginx:latest
    
    • --replicas:指定副本数
    • --publish:映射端口
    • --network:指定覆盖网络(需提前创建)
  3. 管理集群

    • 查看服务状态:docker service ls
    • 更新服务镜像:docker service update --image nginx:1.21 nginx
    • 扩展副本数:docker service scale nginx=5

三、使用Kubernetes(企业级编排)

  1. 安装Kubernetes组件

    • 主节点安装kubeadmkubeletkubectl
      sudo apt update
      sudo apt install -y kubelet kubeadm kubectl
      sudo apt-mark hold kubelet kubeadm kubectl
      
    • 初始化集群:
      sudo kubeadm init --pod-network-cidr=10.244.0.0/16
      
      配置kubectl
      mkdir -p $HOME/.kube
      sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
      sudo chown $(id -u):$(id -g) $HOME/.kube/config
      
  2. 部署网络插件
    例如Calico:

    kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
    
  3. 部署应用
    通过YAML文件定义Deployment和Service,例如:

    kubectl apply -f nginx-deployment.yaml
    

选择建议

0
看了该问题的人还看了