centos

centos上docker如何进行容器编排

小樊
46
2025-09-05 16:31:54
栏目: 智能运维

在CentOS上进行Docker容器编排主要有以下两种主流方式:

一、Docker Compose(轻量级编排)

适用场景:快速定义和运行多容器应用,适合开发、测试环境。
核心步骤

  1. 安装Docker Compose

    # 通过pip安装(推荐)  
    sudo yum install -y python-pip  
    sudo pip install docker-compose  
    
    # 或直接下载二进制文件  
    sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/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  
    
    # 停止并删除容器  
    docker-compose down  
    
    # 查看运行状态  
    docker-compose ps  
    
    # 查看日志  
    docker-compose logs  
    

二、Kubernetes(生产级编排)

适用场景:大规模容器集群管理,支持自动化部署、扩缩容和高可用。
核心步骤

  1. 安装Kubernetes组件
    使用kubeadm初始化集群(需至少3个节点):

    # 安装基础组件  
    sudo yum install -y kubelet kubeadm kubectl  
    sudo systemctl enable kubelet  
    
    # 初始化主节点(在主节点执行)  
    sudo kubeadm init --pod-network-cidr=10.244.0.0/16  
    
  2. 配置kubectl

    mkdir -p $HOME/.kube  
    sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config  
    sudo chown $(id -u):$(id -g) $HOME/.kube/config  
    
  3. 部署服务
    通过YAML文件定义资源(如Deployment、Service),示例:

    # nginx-deployment.yaml  
    apiVersion: apps/v1  
    kind: Deployment  
    metadata:  
      name: nginx-deployment  
    spec:  
      replicas: 3  
      selector:  
        matchLabels:  
          app: nginx  
      template:  
        metadata:  
          labels:  
            app: nginx  
        spec:  
          containers:  
          - name: nginx  
            image: nginx:latest  
            ports:  
            - containerPort: 80  
    

    部署命令:

    kubectl apply -f nginx-deployment.yaml  
    
  4. 管理集群

    # 查看节点状态  
    kubectl get nodes  
    
    # 查看Pod状态  
    kubectl get pods --all-namespaces  
    
    # 扩缩容服务  
    kubectl scale deployment nginx-deployment --replicas=5  
    
    # 更新服务镜像  
    kubectl set image deployment/nginx-deployment nginx=nginx:1.24  
    

三、选择建议

0
看了该问题的人还看了