Node 部署
2024年06月21日
一、认识
项目结构如下:
my-server/
├── Dockerfile
├── app.js
├── .dockerignore
├── package.json
二、操作
2.1 app.js
const Koa = require("koa");
const Router = require("koa-router");
const app = new Koa();
const router = new Router();
const port = process.env.port || 3000;
router.get("/", (ctx) => {
ctx.body = "Hello World!";
});
app.use(router.routes());
app.listen(port, () => {
console.log(`Server is running on port ${port}`);
});
可以通过 process.env.port
来访问 docker run -e
传递的环境变量
2.2 Dockerfile
Dockerfile
FROM node:latest
WORKDIR /server
COPY package*.json /server
RUN npm install
COPY . /server
EXPOSE 4000
CMD ["node","index.js"]
2.3 .dockerignore
node_modules
dist
2.4 构建 Docker 镜像
一、通过 docker build --no-cache -t node-build .
构建镜像
docker build --no-cache -t node-build .
2.5 运行 Docker 镜像
二、通过 docker run -d --name node-build -p 4000:4000 -e port=4000 node-build
启动镜像,并通过 -d
后台运行, 通过 -p
映射端口, 通过 -e
传递 port
环境变量
docker run -d --name node-build -p 4000:4000 -e port=4000 node-build