在 Linux 下,使用 Docker 容器化部署 Node.js 应用程序是一种常见的方法。以下是一个基本的步骤指南:
首先,确保你的 Linux 系统上已经安装了 Docker。如果没有安装,可以参考 Docker 官方文档进行安装。
sudo apt update
sudo apt install docker.io
sudo yum install -y docker
sudo systemctl start docker
sudo systemctl enable docker
在你的 Node.js 项目根目录下创建一个名为 Dockerfile
的文件。这个文件将定义如何构建 Docker 镜像。
# 使用官方 Node.js 基础镜像
FROM node:14
# 设置工作目录
WORKDIR /usr/src/app
# 复制 package.json 和 package-lock.json
COPY package*.json ./
# 安装依赖
RUN npm install
# 复制应用代码
COPY . .
# 暴露端口
EXPOSE 3000
# 启动应用
CMD ["node", "app.js"]
在项目根目录下运行以下命令来构建 Docker 镜像:
docker build -t my-node-app .
构建完成后,可以使用以下命令来运行 Docker 容器:
docker run -p 3000:3000 my-node-app
这会将容器的 3000 端口映射到主机的 3000 端口。
打开浏览器,访问 http://localhost:3000
,你应该能看到你的 Node.js 应用程序运行正常。
如果你有多个服务(例如数据库、缓存等),可以使用 Docker Compose 来管理这些服务。
docker-compose.yml
文件:version: '3'
services:
app:
build: .
ports:
- "3000:3000"
volumes:
- .:/usr/src/app
- /usr/src/app/node_modules
db:
image: postgres
environment:
POSTGRES_USER: myuser
POSTGRES_PASSWORD: mypassword
POSTGRES_DB: mydb
docker-compose up -d
你可以使用 CI/CD 工具(如 Jenkins、GitLab CI、GitHub Actions 等)来自动化构建和部署过程。
以上就是在 Linux 下使用 Docker 容器化部署 Node.js 应用程序的基本步骤。根据你的具体需求,可能还需要进行一些额外的配置和优化。