如何在越南 云服务器上部署容器化应用与CI CD流水线
2026年5月21日

1.

准备越南云服务器与环境选择

在越南选供应商(VNG Cloud、FPT、Viettel或区域节点的AWS/GCP)。建议Ubuntu 20.04或22.04,2-4 CPU、4GB内存、公网IP。准备SSH密钥对(ssh-keygen),在控制台放入公钥,记录登录用户名(通常是 ubuntu 或 root)。

2.

初始化与安全配置

SSH登录后执行:sudo apt update && sudo apt upgrade -y;添加非root用户:adduser deploy && usermod -aG sudo deploy;设置防火墙:sudo ufw allow OpenSSH; sudo ufw allow 80,443; sudo ufw enable。禁用密码登录:编辑 /etc/ssh/sshd_config,PermitRootLogin no,PasswordAuthentication no,重启 ssh。

3.

安装Docker与docker-compose

按照官方步骤:sudo apt install -y ca-certificates curl gnupg lsb-release;curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg;sudo apt update && sudo apt install docker-ce docker-ce-cli containerd.io -y;启动并加入开机:sudo systemctl enable --now docker。安装 Compose 插件:sudo apt install -y docker-compose-plugin 或使用 docker compose。

4.

容器化应用(Dockerfile 与 本地构建)

示例(Node.js):创建 Dockerfile:FROM node:16-alpine; WORKDIR /app; COPY package*.json ./; RUN npm ci; COPY . .; RUN npm run build; CMD ["node","dist/index.js"]。本地构建并测试:docker build -t myapp:latest .; docker run -p 3000:3000 myapp:latest。确认健康后准备镜像推送。

5.

推镜像到镜像仓库

可选 Docker Hub、GitLab Container Registry 或自建 Harbor。以 Docker Hub 为例:docker login; docker tag myapp:latest youruser/myapp:v1.0; docker push youruser/myapp:v1.0。在越南地区,若网络慢,可选择就近私有注册表或使用镜像加速器。

6.

在服务器上用 docker-compose 部署

示例 docker-compose.yml 包含 app、nginx、数据库:定义镜像、环境变量、端口、卷。部署流程:在服务器 pull 镜像 docker pull youruser/myapp:v1.0;在目录放置 docker-compose.yml,执行 sudo docker compose up -d。检查:sudo docker compose ps;查看日志:sudo docker compose logs -f app。

7.

用 GitHub Actions 实现CI/CD(构建->推镜像->远程部署)

在仓库添加 .github/workflows/ci.yml,关键步骤:checkout、docker/login-action 登录 Docker、docker/build-push-action 构建并推送、通过 appleboy/ssh-action 远程 SSH 执行部署脚本(docker pull && docker compose up -d)。在仓库 Secrets 放入 DOCKER_USERNAME/DOCKER_PASSWORD、DEPLOY_HOST、DEPLOY_USER、DEPLOY_SSH_KEY。

8.

示例 GitHub Actions 工作流片段

核心步骤示例:- name: Build and push uses docker/build-push-action@v4 with credentials; - name: Deploy uses appleboy/ssh-action@master with host: ${{ secrets.DEPLOY_HOST }},key: ${{ secrets.DEPLOY_SSH_KEY }},script: ["cd /opt/myapp","docker pull youruser/myapp:${{ github.sha }}","docker compose up -d"]. 这样每次推送自动构建并远端更新容器。

9.

使用 k3s / Kubernetes 的替代方案

若要编排,服务器集群可安装 k3s(轻量k8s):curl -sfL https://get.k3s.io | sh -。在本地生成 Deployment/Service/Ingress YAML,并在CI中使用 kubectl(将 kubeconfig 作为 Secret)执行 kubectl apply -f。推荐使用镜像标签和 rolling update 策略以实现零停机。

10.

运维、安全与监控要点

启用 HTTPS:使用 nginx + certbot 获取 Let’s Encrypt 证书(sudo apt install certbot python3-certbot-nginx;sudo certbot --nginx)。安装 fail2ban、设置 UFW 限制。日志用 ELK/Promtail+Loki,性能用 Prometheus+Grafana 监控容器资源。定期更新镜像、备份数据库。

11.

问:越南云服务器选择对部署有什么影响?

答:区域和提供商影响网络带宽、延迟与本地合规;就近节点可降低延迟,选供应商时看可用镜像仓库接入、快照/备份、流量费用与支持 SLA。

12.

问:我能在单台越南云服务器上运行 k3s + CI 吗?

答:可以用于测试和小规模生产。单节点 k3s 简单部署但缺少高可用,CI/CD(GitHub Actions/GitLab CI)可通过 SSH 或 Kubernetes API 部署到该节点,注意资源与备份。

13.

问:部署失败如何快速回滚?

答:用 docker-compose:保留旧镜像标签,部署前先 docker pull 旧标签并 docker compose up -d 指定旧镜像;Kubernetes 可用 kubectl rollout undo deployment/your-deploy --namespace=prod。CI 中保留版本化标签和自动回滚脚本最佳。


来源:如何在越南 云服务器上部署容器化应用与CI CD流水线

相关文章
  • 阿里云越南服务器:高性能可靠的云服务器选择

    阿里云越南服务器:高性能可靠的云服务器选择 随着云计算技术的不断发展,越来越多的企业开始转向云服务器来托管他们的网站、应用程序和数据。在选择云服务器供应商时,性能和可靠性是企业关注的重点。阿里云越南服务器凭借其高性能和可靠性成为了许多企业的首选。 阿里云越南服务器采用先进的硬件设备和优化的网络架构,确保用户可以获得卓越的性能
    2025年5月15日
  • 租用越南云服务器的性价比与推荐服务商

    1. 越南云服务器的市场现状 越南作为东南亚的一个快速发展的国家,近年来在云计算领域展现了巨大的潜力。 根据市场研究机构的数据显示,越南的云计算市场预计将在未来五年内以超过30%的年增长率发展。 越来越多的企业开始选择在越南租用云服务器,以满足其不断增长的业务需求。 这使得越南的云服务器服务商数量逐渐增加,提供了多样化的选择。 在这样的市场环
    2025年11月8日
  • 阿里云越南服务器:快速、稳定、安全

    阿里云越南服务器:快速、稳定、安全 阿里云越南服务器是阿里云在越南地区提供的服务器服务,拥有快速、稳定、安全的特点。越南作为东南亚地区的重要市场,阿里云越南服务器为客户提供了更加优质的服务。 阿里云越南服务器采用先进的硬件设备和优化的网络架构,保证了服务器的高性能和快速响应速度。无论是网站访问还是数据传输,都能够快速完成,
    2025年6月15日
  • 越南云服务器好不好?

    随着互联网的迅猛发展,越来越多的人选择使用云服务器来托管他们的网站、应用程序和数据。越南作为东南亚地区的新兴经济体,其云服务器市场也逐渐崛起。本文将探讨越南云服务器的优势和劣势,帮助读者了解越南云服务器是否适合他们的需求。 1.地理位置优势:越南位于东南亚地区的中心位置,与中国和东南亚其他国家都有着良好的互联互通。这使得越南的云服务器在访
    2025年5月1日