使用 Docker 构建并运行一个简单的 Node.js 应用程序
温馨提示:
本文最后更新于 2024年07月24日,已超过 252 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我。
使用 Docker 构建并运行一个简单的 Node.js 应用程序
本文档介绍如何使用 Docker 构建并运行一个简单的 Node.js 应用程序。
准备工作
- 安装 Docker Desktop 或 Docker Engine。
- 创建一个名为
my-app
的目录,并在其中创建一个名为index.js
的文件。 - 在
index.js
文件中添加以下代码:
```javascript const http = require('http');
const hostname = '0.0.0.0'; const port = 3000;
const server = http.createServer((req, res) => { res.statusCode = 200; res.setHeader('Content-Type', 'text/plain'); res.end('Hello World\n'); });
server.listen(port, hostname, () => {
console.log(Server running at http://${hostname}:${port}/
);
});
```
构建 Docker 镜像
- 在
my-app
目录中创建一个名为Dockerfile
的文件。 - 将以下内容添加到
Dockerfile
文件中:
```dockerfile FROM node:16-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
CMD ["npm", "start"] ```
- 运行以下命令构建镜像:
bash
docker build -t my-app .
运行 Docker 容器
- 运行以下命令运行容器:
bash
docker run -p 3000:3000 my-app
访问应用程序
打开浏览器并访问 http://localhost:3000
,您将看到 Hello World
。
说明
FROM node:16-alpine
指示使用 Node.js 16 Alpine 镜像作为基础镜像。WORKDIR /app
设置容器的工作目录。COPY package*.json ./
将package.json
文件复制到容器的工作目录。RUN npm install
安装依赖项。COPY . .
将所有文件复制到容器的工作目录。CMD ["npm", "start"]
设置容器启动时的命令。docker run -p 3000:3000 my-app
指示 Docker 运行名为my-app
的镜像,并将容器的端口 3000 映射到主机的端口 3000。
注意
- 使用
node:16-alpine
镜像可以减小镜像大小。 CMD
命令可以指定任何命令,例如npm start
或node index.js
。- 可以使用
docker logs <容器 ID>
命令查看容器日志。 - 可以使用
docker stop <容器 ID>
命令停止容器。 - 可以使用
docker rm <容器 ID>
命令删除容器。
其他资源
正文到此结束
- 本文标签: Linux
- 本文链接: https://blog.sandy1029.cloud/article/242
- 版权声明: 本文由nisan原创发布,转载请遵循《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权