云服务器如何配置容器化部署?
常见问题
云服务器如何配置容器化部署?
2025-04-11 05:12
云服务器容器化部署
云服务器容器化部署终极指南:从零到生产环境
在数字化转型浪潮中,容器化技术已成为现代应用部署的黄金标准。本文将手把手教您如何在云服务器上配置完整的容器化部署环境,涵盖Docker安装、编排工具选择、CI/CD流水线搭建等核心内容。
一、云服务器基础准备
选择适合的云服务器是成功的第一步:
- 推荐配置:至少2核CPU/4GB内存(生产环境建议4核8GB起)
- 操作系统:Ubuntu 20.04/22.04 LTS或CentOS 7+/AlmaLinux
- 网络配置:确保开放以下端口:22(SSH)、80/443(Web)、2376(Docker)、6443(K8s)
# 安全加固建议
sudo apt update && sudo apt upgrade -y
sudo ufw allow 22/tcp
sudo ufw enable
二、Docker引擎安装与优化
以Ubuntu为例的安装步骤:
- 卸载旧版本:
sudo apt remove docker docker-engine docker.io containerd runc
- 设置仓库:
sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
- 添加官方GPG密钥:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
- 稳定版仓库:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
- 安装Docker CE:
sudo apt update && sudo apt install docker-ce docker-ce-cli containerd.io
关键配置优化:
# 修改daemon.json
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"log-driver": "json-file",
"log-opts": {
"max-size": "100m",
"max-file": "3"
},
"storage-driver": "overlay2",
"registry-mirrors": ["https://registry.docker-cn.com"]
}
EOF
# 重启生效
sudo systemctl restart docker
三、编排工具选型与部署
主流编排方案对比
工具
适用场景
学习曲线
社区生态
Docker Compose
单机开发测试
简单
完善
Kubernetes
生产集群
陡峭
极丰富
Swarm
小型生产环境
中等
逐渐萎缩
Kubernetes快速部署(使用kubeadm)
# 所有节点执行
sudo apt update && sudo apt install -y apt-transport-https curl
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
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
# 工作节点加入
kubeadm join :6443 --token --discovery-token-ca-cert-hash sha256:
四、持续部署流水线搭建
典型GitOps工作流配置:
- 代码提交触发GitHub Actions
- 自动构建Docker镜像并推送到ACR
- ArgoCD检测镜像变更自动部署
- Prometheus监控+Alertmanager告警
GitHub Actions示例
name: Build and Push
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Login to ACR
uses: azure/docker-login@v1
with:
login-server: myregistry.azurecr.io
username: ${{ secrets.REGISTRY_USERNAME }}
password: ${{ secrets.REGISTRY_PASSWORD }}
- name: Build and push
run: |
docker build -t myregistry.azurecr.io/myapp:${{ github.sha }} .
docker push myregistry.azurecr.io/myapp:${{ github.sha }}
五、安全最佳实践
- 镜像扫描:集成Trivy或Clair到CI流程
- 网络策略:使用Calico实现Pod间微隔离
- 密钥管理:Vault或云厂商KMS服务
- 审计日志:启用K8s审计功能并对接SIEM
基础安全检测命令
# 检查容器运行状态
docker ps --no-trunc
# 检查异常进程
docker top
# 扫描镜像漏洞
trivy image myapp:latest
# 检查K8s配置
kube-bench run
成功实施的关键要素
根据我们为50+企业实施的经验,容器化部署要特别注意:
- 建立完整的监控体系(Prometheus+Granfa+Alertmanager黄金组合)
- 设计合理的资源配额(避免Noisy Neighbor问题)
- 制定完善的回滚机制(蓝绿部署优于直接覆盖)
- 定期进行灾备演练(模拟节点故障场景)
通过本文的指导,您应该已经掌握了云服务器容器化部署的核心要点。实际部署时,建议先从测试环境开始,逐步验证各组件可靠性后再推向生产环境。
云服务器容器化部署终极指南:从零到生产环境
在数字化转型浪潮中,容器化技术已成为现代应用部署的黄金标准。本文将手把手教您如何在云服务器上配置完整的容器化部署环境,涵盖Docker安装、编排工具选择、CI/CD流水线搭建等核心内容。
一、云服务器基础准备
选择适合的云服务器是成功的第一步:
- 推荐配置:至少2核CPU/4GB内存(生产环境建议4核8GB起)
- 操作系统:Ubuntu 20.04/22.04 LTS或CentOS 7+/AlmaLinux
- 网络配置:确保开放以下端口:22(SSH)、80/443(Web)、2376(Docker)、6443(K8s)
# 安全加固建议
sudo apt update && sudo apt upgrade -y
sudo ufw allow 22/tcp
sudo ufw enable
二、Docker引擎安装与优化
以Ubuntu为例的安装步骤:
- 卸载旧版本:
sudo apt remove docker docker-engine docker.io containerd runc
- 设置仓库:
sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
- 添加官方GPG密钥:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
- 稳定版仓库:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
- 安装Docker CE:
sudo apt update && sudo apt install docker-ce docker-ce-cli containerd.io
关键配置优化:
# 修改daemon.json
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"log-driver": "json-file",
"log-opts": {
"max-size": "100m",
"max-file": "3"
},
"storage-driver": "overlay2",
"registry-mirrors": ["https://registry.docker-cn.com"]
}
EOF
# 重启生效
sudo systemctl restart docker
三、编排工具选型与部署
主流编排方案对比
工具
适用场景
学习曲线
社区生态
Docker Compose
单机开发测试
简单
完善
Kubernetes
生产集群
陡峭
极丰富
Swarm
小型生产环境
中等
逐渐萎缩
Kubernetes快速部署(使用kubeadm)
# 所有节点执行
sudo apt update && sudo apt install -y apt-transport-https curl
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
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
# 工作节点加入
kubeadm join :6443 --token --discovery-token-ca-cert-hash sha256:
四、持续部署流水线搭建
典型GitOps工作流配置:
- 代码提交触发GitHub Actions
- 自动构建Docker镜像并推送到ACR
- ArgoCD检测镜像变更自动部署
- Prometheus监控+Alertmanager告警
GitHub Actions示例
name: Build and Push
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Login to ACR
uses: azure/docker-login@v1
with:
login-server: myregistry.azurecr.io
username: ${{ secrets.REGISTRY_USERNAME }}
password: ${{ secrets.REGISTRY_PASSWORD }}
- name: Build and push
run: |
docker build -t myregistry.azurecr.io/myapp:${{ github.sha }} .
docker push myregistry.azurecr.io/myapp:${{ github.sha }}
五、安全最佳实践
- 镜像扫描:集成Trivy或Clair到CI流程
- 网络策略:使用Calico实现Pod间微隔离
- 密钥管理:Vault或云厂商KMS服务
- 审计日志:启用K8s审计功能并对接SIEM
基础安全检测命令
# 检查容器运行状态
docker ps --no-trunc
# 检查异常进程
docker top
# 扫描镜像漏洞
trivy image myapp:latest
# 检查K8s配置
kube-bench run
成功实施的关键要素
根据我们为50+企业实施的经验,容器化部署要特别注意:
- 建立完整的监控体系(Prometheus+Granfa+Alertmanager黄金组合)
- 设计合理的资源配额(避免Noisy Neighbor问题)
- 制定完善的回滚机制(蓝绿部署优于直接覆盖)
- 定期进行灾备演练(模拟节点故障场景)
通过本文的指导,您应该已经掌握了云服务器容器化部署的核心要点。实际部署时,建议先从测试环境开始,逐步验证各组件可靠性后再推向生产环境。
标签:
- 云服务器
- 容器化部署
- Docker
- Kubernetes
- CI/CD
- 莱卡云
