推荐答案
// www.javascriptcn.com code example
# 1. 创建 Express 应用
mkdir my-express-app
cd my-express-app
npm init -y
npm install express
# 2. 创建 app.js 文件
echo "const express = require('express');
const app = express();
const port = 3000;
app.get('/', (req, res) => {
res.send('Hello World!');
});
app.listen(port, () => {
console.log(`App listening at http://localhost:${port}`);
});" > app.js
# 3. 创建 Dockerfile
echo "FROM node:14
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3000
CMD [\"node\", \"app.js\"]" > Dockerfile
# 4. 构建 Docker 镜像
docker build -t my-express-app .
# 5. 运行 Docker 容器
docker run -p 3000:3000 my-express-app本题详细解读
1. 创建 Express 应用
首先,你需要创建一个新的 Express 应用。你可以使用 npm init -y 快速生成 package.json 文件,然后安装 express 依赖。
2. 创建 app.js 文件
接下来,创建一个简单的 Express 应用文件 app.js。这个文件定义了一个基本的 Express 服务器,监听 3000 端口,并在根路径返回 "Hello World!"。
3. 创建 Dockerfile
Dockerfile 是 Docker 镜像的构建文件。在这个文件中,我们指定了基础镜像为 node:14,设置了工作目录为 /app,然后复制 package.json 和 package-lock.json 文件并安装依赖。接着,复制所有文件到工作目录,暴露 3000 端口,并设置启动命令为 node app.js。
4. 构建 Docker 镜像
使用 docker build -t my-express-app . 命令构建 Docker 镜像。-t 参数用于指定镜像的名称和标签。
5. 运行 Docker 容器
最后,使用 docker run -p 3000:3000 my-express-app 命令运行 Docker 容器。-p 参数用于将容器的 3000 端口映射到主机的 3000 端口,这样你就可以通过 http://localhost:3000 访问 Express 应用。