type
status
date
slug
summary
tags
category
icon
password
Property
Apr 15, 2024 07:40 AM
怎么在服务器上使用docker构建nodejs项目,又能方便的在本地VSCODE里面做开发?
要在服务器上使用Docker构建Node.js项目,同时保持本地Visual Studio Code(VSCode)的良好开发体验,您可以通过以下步骤实现这一目标:
准备工作
- 本地开发环境
- 在本地机器上安装VSCode及Docker Desktop(Windows/Mac)或者Docker(Linux)。
- 在VSCode中安装Docker插件以便更好地管理Docker容器和镜像。
- 创建Dockerfile
创建一个
Dockerfile
在您的Node.js项目的根目录中,用于定义如何构建包含应用程序及其依赖项的Docker镜像。例如:
开发流程
- 本地构建和运行
- 在本地通过VSCode和Docker插件构建和运行Docker容器,这样就可以在本地修改代码并立即看到变化。
- 使用VSCode终端运行以下命令构建镜像并启动容器:
v ${PWD}:/usr/src/app
参数用于将本地项目目录挂载到容器内的工作目录,这样修改本地代码会实时反映在容器内。p 3000:3000
参数将容器内部的3000端口映射到本地的3000端口。
服务器部署
- 推送镜像到仓库
- 构建完成后,将镜像推送到Docker Hub或其他私有仓库,以便服务器拉取。
- 在服务器上部署
- 在服务器上安装Docker,并从仓库拉取镜像。
- 运行生产环境容器
- 考虑到生产环境,您可能不需要挂载本地开发目录,而是直接运行容器并持久化数据到卷(如果需要的话)。
实现远程开发
- 远程开发支持
- 若要在本地编辑代码而让服务器上的容器实时更新,可以考虑使用SSHFS(或类似的文件同步工具)将服务器的文件系统挂载到本地。
- 或者使用专门的远程开发工具,如VSCode的Remote Development扩展,允许你在本地编辑但代码运行在远程环境(包括Docker容器)中。
注意事项
- 生产环境中,确保在Dockerfile中设置正确的环境变量(如NODE_ENV=production)并运行适当的构建命令(如
npm run build
),而不是npm start
(通常用于开发环境)。
- 为了更好的持续集成和部署(CI/CD),建议结合Git版本控制和自动化构建工具(如Jenkins, GitHub Actions等)。
- 作者:集家嘴的壳玛🐸
- 链接:https://blog.kyeo.top/article/dev-on-docker
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。