海外云服务器Linux:Docker容器部署Node.js实战
文章分类:更新公告 /
创建时间:2025-08-25
在全球化业务需求激增的背景下,海外云服务器凭借覆盖广、访问快的优势,成为企业部署跨区域应用的首选。本文将结合Linux系统与Docker容器技术,手把手教你在海外云服务器上高效部署Node.js应用,从环境准备到最终验证,每一步都清晰拆解。
第一步:海外云服务器基础环境搭建
要开启Docker容器部署,首先需要一台配置Linux系统的海外云服务器。这里以Ubuntu 20.04为例,需确保服务器已开通公网IP且能正常访问外网(后续拉取Docker镜像依赖网络)。接下来需完成Docker与Docker Compose的安装,具体操作如下:
更新系统包列表
sudo apt update
安装Docker依赖包
sudo apt install apt-transport-https ca-certificates curl software-properties-common
添加Docker官方GPG密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
添加Docker软件源
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
再次更新系统包列表
sudo apt update
安装Docker引擎
sudo apt install docker-ce docker-ce-cli containerd.io
验证安装(成功会输出Hello from Docker!)
sudo docker run hello-world
安装Docker Compose(1.29.2为稳定版本)
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
添加执行权限
sudo chmod +x /usr/local/bin/docker-compose
验证Compose安装(显示版本号即成功)
docker-compose --version
第二步:本地构建Node.js基础应用
在本地开发机创建一个简单的Node.js应用。首先新建项目目录并初始化npm:
mkdir nodejs-app && cd nodejs-app
npm init -y # 一路回车使用默认配置
安装Express框架(轻量且适合快速搭建Web服务):
npm install express
创建`app.js`文件,编写基础路由逻辑:
const express = require('express');
const app = express();
const port = 3000; // 应用监听端口
// 根路径响应
app.get('/', (req, res) => {
res.send('Hello, 海外云服务器Docker部署成功!');
});
// 启动服务
app.listen(port, () => {
console.log(`Node.js应用运行于端口${port}`);
});
第三步:编写Dockerfile封装应用
回到`nodejs-app`目录,创建`Dockerfile`(容器构建脚本):
基于Node.js 14 LTS版本构建(长期支持更稳定)
FROM node:14
设置容器内工作目录
WORKDIR /app
优先复制依赖文件(利用Docker缓存加速构建)
COPY package*.json ./
安装项目依赖
RUN npm install
复制全部应用代码(此步骤在依赖安装后,减少缓存失效频率)
COPY . .
暴露容器端口(与app.js中的3000端口对应)
EXPOSE 3000
启动命令(容器运行时执行)
CMD ["node", "app.js"]
第四步:海外云服务器上构建并运行容器
将本地`nodejs-app`目录通过SFTP或scp上传至海外云服务器。登录服务器后进入该目录,执行镜像构建命令:
sudo docker build -t nodejs-docker-app . # -t指定镜像名称为nodejs-docker-app
构建完成后运行容器(将容器3000端口映射到服务器80端口,便于公网访问):
sudo docker run -p 80:3000 -d nodejs-docker-app # -d表示后台运行
最终验证:确认应用在线
打开浏览器输入海外云服务器的公网IP(如`http://123.45.67.89`),若页面显示“Hello, 海外云服务器Docker部署成功!”,则说明整个部署流程圆满完成。
通过Docker容器在海外云服务器部署Node.js应用,不仅能实现“一次构建,多处运行”的跨环境兼容性,还能通过容器的轻量特性降低服务器资源占用。后续若需更新应用,只需修改代码后重新构建镜像并启动新容器,旧容器可轻松销毁,极大提升了应用迭代效率。