docker后台运行node镜像

最小、标准的 docker run 命令。


✅ 最简单正确写法(推荐)

docker run -d \
  --name node20 \
  -v $(pwd):/app \
  -w /app \
  node:20-alpine \
  tail -f /dev/null

说明(关键点)

  • -d:后台运行

  • -v $(pwd):/app:映射当前目录

  • -w /app:工作目录

  • tail -f /dev/null保持容器不退出(关键)

Node 镜像默认没有常驻进程,不加这句容器会立刻退出


📌 进入容器使用(你后面肯定要用)

docker exec -it node20 sh

验证:

node -v

📌 如果你想映射指定目录(例如 Jenkins workspace)

docker run -d \
  --name node20 \
  -v /var/jenkins_home/workspace/myapp:/app \
  -w /app \
  node:20-alpine \
  tail -f /dev/null

❗ 常见错误(提前帮你避坑)

❌ 直接这样跑(容器会秒退)

docker run -d node:20-alpine

原因:

  • 没有前台进程

  • Docker 判定容器“执行完成”


❌ 用 bash(alpine 没有 bash)

docker exec -it node20 bash

✅ 正确:

docker exec -it node20 sh

🧠 可选:如果你只是给 Jenkins 用

其实 不用长期后台跑,直接:

docker run --rm \
  -v $(pwd):/app \
  -w /app \
  node:20-alpine \
  node -v

更干净。


一句话总结

node:20-alpine 后台运行 = 映射目录 + 一个“不退出”的占位命令

你这个需求已经是最小 Docker 用法了。

posted @ 2026-01-16 20:22  jerry-mengjie  阅读(4)  评论(0)    收藏  举报