vue项目在docker容器中开发的尝试
首先,这里先给个结论,本地不安装任何环境,通过跑一个docker container,image 使用 node。可以用于开发vue项目,可能由于本人电脑配置问题,运行起来会比较卡。
docker的安装及node镜像拉取
这里建议去官网下载安装包,简单方便。缺点是可能下载会比较慢。
docker pull node:latest
容器运行项目
我们要实现的目的是,用镜像中的环境来运行本地的代码。所以这个时候,我们可以将本地的node删掉。
创建一个vue项目到本地目录
启动一个容器使用node镜像,并将本地项目映射到容器内目录
docker run -dit -p 8080:8080 -v C:/Users/admin/Desktop/vueItem:/data node
参数说明:
1、-dit 后台运行容易,不退出
2、-p 本地主机的 8080 被映射到了容器的 8080 端口
3、 -v 指定映射目录,本地的 C:/Users/admin/Desktop/vueItem 目录映射到容器中 /data下
4、node 表示 使用node image 启动容器
在容器中 下载依赖并运行项目
docker ps //查看当前运行的 container
docker exec -it containerId sh //进行containerId 对应的容器
cd /data //进入/data目录
ls -la //这个时候你就可以看到 目录 C:/Users/admin/Desktop/vueItem,下的项目在这里了
npm install //下载依赖
CHOKIDAR_USEPOLLING=true npm run dev //运行项目 CHOKIDAR_USEPOLLING=true是为了保证修改代码,可以热重载
至此,项目就运行起来了,修改本地代码,容器就会重载项目。
打开浏览器 http://localhost:8080 就能看到项目了
遇到的问题
1、npm run dev 这个步骤在容器中运行很慢。所以对于开发不是很友好
2、容器运行起来后,查看资源管理器 Vmmem & COM Surrogate 进程很吃资源
总结
感觉前端项目比较简单的话,可能用docker进行环境统一不是特别的必要。这个对于后端可能用处更大。