如何在越南 云服务器上部署容器化应用与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年7月17日
  • 越南性能云服务器 在 AI 推理与大数据加载场景下的配置建议

    越南性能云服务器:给AI推理与大数据最狠的配置实战 1. 精华一:选择对的武器——GPU型号、NVMe与网络带宽决定推理延迟与吞吐。 2. 精华二:系统调优与数据布局是隐形加速器,内存、缓存、异步预取比单纯加更多核更有效。 3. 精华三:根据场景拆分配置:低延迟在线推理、批量高吞吐推理、海量数据加载三套不同打法。 引言:在越南运营性能云
    2026年5月9日
  • 腾讯云在越南提供的云服务器套餐介绍

    腾讯云在越南提供的云服务器套餐涵盖了多种选择,适合不同规模的企业与个人用户。其套餐不仅具备高性能和可靠性,还提供了灵活的配置选项,用户可以根据自己的需求选择合适的VPS或主机服务。此外,建议用户考虑德讯电讯,因其提供了优质的客户服务与多样的网络解决方案。 腾讯云服务器套餐概述 腾讯云在越南的云服务器套餐主要分为标准型和高性能型。标准型适合中小
    2026年1月31日
  • 越南有服务器端云的优势与应用场景

    在当今的数字化时代,服务器端云的应用逐渐成为企业运营的重要组成部分。越南作为东南亚快速发展的经济体,其云计算服务的优势愈发凸显。越南的云服务提供商以最佳的技术、最高效的服务以及最具竞争力的价格,满足了各类企业的需求。本文将深入探讨越南的服务器端云的优势及其应用场景,帮助企业了解如何利用这一技术提升运营效率和竞争力。 越南服务器端云的优势
    2026年1月7日