Sign inSign up

tomatocuke/node

By tomatocuke

•Updated over 1 year ago

node 、npm、pnpm

Image
0

538

tomatocuke/node repository overview

⁠说明

在本机无感知地调用镜像中的 node 和 npm 命令的解决方案,使用alpine制作,latest 为 node22。

⁠操作
  • 给予docker共享代码目录。docker客户端设置 - Resources - File sharing. 增加所有项目的上一级目录。(你的项目为 /Users/me/code/aaa,则共享 /Users/me/code目录)
  • 启动容器。docker run --name node -itd -p 8080-8085:8080-8085 -v 你的项目父级目录:你的项目父级目录 tomatocuke/node:latest
    • 替换"端口号范围”,确保你的项目启动端口在这个范围。
    • 替换“代码目录”,前后一致,中间冒号
  • 添加环境变量。 (怎么添加环境变量自己查。若你本机已安装node和npm,这里会覆盖你的版本,你可以别名一下)
alias node='docker exec -it -w $(pwd) node node'
alias npm='docker exec -it -w $(pwd) node npm'
alias pnpm='docker exec -it -w $(pwd) node pnpm'
  • 使用。这样就可以任意调用 node 和 npm 相关的命令了。
⁠其他
  • 若报错 Could not open input file 请检查你的文件夹映射是否正确。 本机目录映射到容器中的路径应该一致,才能保证 -w $(pwd) 的正确性。
  • 若报错 spawn xdg-open ENOENT 是因为容器内无法自动打开浏览器,把 vite.config.js 或之类的配置中的 server - open 改为 false。
  • 若需要更改pnpm 镜像源,进入容器内更改。 可以改为淘宝镜像源 pnpm config set registry https://registry.npmmirror.com/
  • 若本地前后端联调,要注意前端不能使用 http://127.0.0.1:9000 来连接到后端服务,改用 http://host.docker.internal:9000 这样

Tag summary

Content type

Image

Digest

sha256:afee68ca4…

Size

41 MB

Last updated

over 1 year ago

docker pull tomatocuke/node