如何在越南 云服务器上部署容器化应用与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流水线

相关文章
  • 新手指南哪里能买越南云服务器教你快速完成下单与支付流程

    想在越南部署业务或测试本地网络环境,购买越南云服务器是首选。新手常常困惑在哪里购买、如何下单与支付。本文将分步骤讲解购买渠道、下单流程、支付方式,并提示域名绑定、CDN加速与高防DDoS防护的关键点,帮助你快速上线。 首先选择供应商:可以选择国际云厂商提供越南节点的产品,也可以选择本地越南主机商或代理。比较时关注VPS与云主机的区别:VPS通常
    2026年3月8日
  • 越南高性能云服务器-提供稳定快速的云计算服务

    越南高性能云服务器-提供稳定快速的云计算服务 随着云计算技术的不断发展,越来越多的企业和个人开始关注和使用云服务器。在选择云服务器时,性能和稳定性是最为重要的考虑因素之一。越南高性能云服务器以其稳定快速的云计算服务而备受青睐。 越南高性能云服务器采用先进的硬件设备和优化的网络架构,确保用户可以获得卓越的性能表现。无论是处理大规
    2025年7月22日
  • 企业级需求越南哪家云服务器好从安全与可用性角度选择

    1. 越南云服务器市场概述 (1)市场参与者:越南有多家本地IDC(Viettel IDC、FPT、VNPT、CMC、VNG)与全球厂商的接入点。 (2)需求类型:电商、高并发SaaS、游戏、视频点播对带宽和DDoS防护需求高。 (3)网络环境:越南城际骨干与国际出口可能成为延迟与丢包瓶颈,需关注运营商互联。 (4)合规要
    2026年3月4日
  • 租用越南云服务器的优势及注意事项

    1. 租用越南云服务器的主要优势是什么? 租用越南云服务器的主要优势包括以下几点: 成本效益:越南的云服务器费用相对较低,能够帮助企业节省运营成本。 快速访问:对于面向东南亚市场的企业,租用越南云服务器可以显著提高网站的加载速度和响应时间。 本地支持:许多云服务提供商在越南设有本地数据中心,提供更及时的技术支持和服
    2026年1月18日