了解 Docker 和 Express.js
在开始之前,让我们先来了解一下 Docker 和 Express.js。
Docker
Docker 是一个开源的应用容器引擎,可以让你打包、发布和运行应用。它将应用程序与基础设施分开,从而可以更加轻松地移动或扩展应用程序。Docker 使用称为容器的轻量级运行时和资源隔离技术,确保应用程序在不同的环境中运行一致。
Express.js
Express.js 是一个流行的 Node.js Web 应用框架,它提供了一系列功能,可以让你快速搭建 Web 应用。Express.js 以其简单、灵活和模块化而受到开发者的喜爱。
安装 Docker 和 Node.js
在开始之前,确保你的系统中已安装 Docker 和 Node.js。
安装 Docker
你可以从 Docker 的官方网站下载并安装 Docker。安装完成后,运行以下命令检查 Docker 是否已正确安装:
docker --version
安装 Node.js
你可以从 Node.js 的官方网站下载并安装 Node.js。安装完成后,运行以下命令检查 Node.js 是否已正确安装:
node --version
npm --version
创建 Express.js 应用
在这个例子中,我们将创建一个简单的 Express.js 应用,它将显示一个欢迎消息。
- 打开终端。
- 创建一个新的文件夹,例如
express-docker,并进入该文件夹。
mkdir express-docker
cd express-docker
- 初始化一个新的 Node.js 项目。
npm init -y
- 安装 Express.js 和其他必要的依赖项。
npm install express
- 创建一个名为
app.js的文件,并添加以下代码:
const express = require('express');
const app = express();
app.get('/', (req, res) => {
res.send('Hello, Docker!');
});
const PORT = process.env.PORT || 3000;
app.listen(PORT, () => {
console.log(`Server is running on http://localhost:${PORT}`);
});
- 在项目根目录下创建一个名为
Dockerfile的文件,并添加以下内容:
# 使用官方 Node.js 镜像作为基础镜像
FROM node:14
# 设置工作目录
WORKDIR /usr/src/app
# 将当前目录下的 package.json 和 package-lock.json 拷贝到工作目录
COPY package*.json ./
# 安装依赖项
RUN npm install
# 拷贝 application.js 到工作目录
COPY . .
# 暴露端口
EXPOSE 3000
# 启动应用程序
CMD ["node", "app.js"]
构建和运行 Docker 容器
- 在终端中,切换到
express-docker目录。
cd express-docker
- 构建一个名为
express-app的 Docker 容器。
docker build -t express-app .
- 运行 Docker 容器。
docker run -p 3000:3000 express-app
- 打开浏览器,访问
http://localhost:3000,你应该会看到一条欢迎消息。
部署到生产环境
- 在
Dockerfile中,你可以根据需要修改镜像版本、安装其他依赖项等。 - 为了安全起见,不要将
Dockerfile和其他敏感文件提交到版本控制系统中。 - 使用 Docker Compose 或其他容器编排工具可以简化多容器应用的部署。
现在,你已经成功将 Express.js 应用部署到 Docker 容器中。希望这个教程能帮助你入门 Docker 和 Express.js,并为你今后的开发之路铺平道路。