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

相关文章
  • 华为云服务器越南使用体验与性能评测

    1. 华为云服务器概述 华为云服务器是一种基于云计算技术的虚拟主机,提供灵活的配置和高效的性能。 在越南,随着数字经济的快速发展,越来越多的企业和个人开始选择华为云服务器来托管其应用和网站。 在本文中,我们将深入分析华为云服务器在越南的使用体验和性能评测。 2. 华为云服务器的配置选项
    2025年8月2日
  • 阿里云服务器在越南的可用性分析

    随着互联网的迅猛发展,越来越多的企业和个人开始重视网络服务的选择。作为全球领先的云计算和人工智能科技公司,阿里云在全球范围内提供优质的云服务。其中,在越南市场,阿里云服务器的可用性引起了广泛的关注。本文将从多个角度分析阿里云服务器在越南的可用性,并为有需求的用户提供购买建议。 首先,阿里云在越南的数据中心配置了多个区域和节点,这为用户提供了更
    2025年9月8日
  • TK越南版云服务器推荐: 最佳选择给您的业务!

    TK越南版云服务器推荐: 最佳选择给您的业务! TK越南版云服务器是一种高性能、可靠的云计算解决方案,为您的业务提供强大的支持。无论您是个人用户还是企业客户,TK越南版云服务器都能满足您的需求,让您的业务运行更加稳定、高效。 TK越南版云服务器具有以下优势: 高性能:TK越南版云服务器采用先进的硬件设备,配备高速网
    2025年5月14日
  • 越南云服务器怎么样在视频与直播业务场景下的优化建议

    1. 越南节点选择与实例规格评估 1. 在越南部署前先评估目标用户位置与延时:使用mtr或ping测试目标ISP。 步骤:sudo apt-get install mtr -y;mtr -rw 目标IP;记录平均延时和丢包。 2. 实例规格:优先选择1Gbps网络口、至少4核8GB内存起步,SSD或NVMe磁盘,IOPS≥3000为佳。 3.
    2026年4月15日