温馨提示×

怎么在debian容器跑nodejs

小樊
51
2026-10-17 00:46:02
栏目: 编程语言

在 Debian 容器里跑 Node.js,一般有两种常见做法:用官方 Node 镜像(基于 Debian) 或 在纯 Debian 镜像里自己装 Node。下面分别说。


方式一:直接用 Node 官方镜像(推荐)

Node 官方镜像本身就是基于 Debian(或 Alpine)的,最简单。

1. 运行容器

docker run -it node:20 bash

进去后:

node -v
npm -v

2. 跑一个 Node 脚本

mkdir /app && cd /app
cat > index.js <<'EOF'
console.log("Hello from Node.js");
EOF
node index.js

3. 用 Dockerfile(常见生产用法)

FROM node:20-bookworm

WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .

CMD ["node", "index.js"]

构建并运行:

docker build -t mynode .
docker run -it --rm mynode

方式二:在 Debian 容器里手动装 Node

适合你想完全控制 Debian 环境的情况。

1. 启动 Debian 容器

docker run -it debian:12 bash

2. 更新并安装依赖

apt update
apt install -y curl ca-certificates gnupg

3. 安装 Node.js(用 NodeSource)

curl -fsSL https://deb.nodesource.com/setup_20.x | bash -
apt install -y nodejs

验证:

node -v
npm -v

4. 跑 Node

node -e "console.log('Node is running')"

常见补充

映射端口(Web 服务)

docker run -it -p 3000:3000 mynode

挂载代码目录

docker run -it -v $PWD:/app -w /app node:20 bash

非 root 用户(安全)

FROM node:20-bookworm
WORKDIR /app
COPY . .
USER node
CMD ["node", "index.js"]

如果你是 只是本地测试 / 写服务 / 用 pm2 / 用 TypeScript,可以告诉我具体场景,我可以给你更合适的 Dockerfile 或命令。

0 踩