Docker部署Nuxt.js项目的实现
Docker官方文档:https://docs.docker.com/
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
使用docker部署nuxt.js项目
1、构建node镜像
FROMnode:alpine
为啥使用alpine版本?
相比于其他Docker镜像,它的容量非常小,仅仅只有5MB左右(对比Ubuntu系列镜像接近200MB),且拥有非常友好的包管理机制。官方镜像来自docker-alpine项目。目前Docker官方已开始推荐使用Alpine替代之前的Ubuntu做为基础镜像环境。这样会带来多个好处。包括镜像下载速度加快,镜像安全性提高,主机之间的切换更方便,占用更少磁盘空间等。
2、设置项目保存目录
RUNmkdir-p/app/src
3、复制项目代码到镜像
COPY./src/app/src
4、指定命令执行的目录
WORKDIR/app/src
5、设置host
ENVHOST0.0.0.0
6、执行项目安装及编译
RUNnpminstallRUNnpmrunbuildRUNnpmcacheclean--force
7、设置外部访问端口
EXPOSE3000
8、执行nuxt项目运行命令
CMD["npm","start"]
完整的Dockerfile文件
FROMnode:alpine RUNmkdir-p/app/src COPY./src/app/src WORKDIR/app/src ENVHOST"0.0.0.0" RUNsed-i"s/dl-cdn.alpinelinux.org/${ALPINE_REPOSITORIES}/g"/etc/apk/repositories RUNapkadd--no-cachemakegccg++python RUNnpminstall RUNnpmrunbuild RUNnpmcacheclean--force RUNapkdelmakegccg++python EXPOSE3000 CMD["npm","start"]
当在项目中使用sass或者scss时,需依赖python环境,所以需要安装python,当然在编译相关资源后,可以删除相应的依赖以减小镜像体积。
运行Docker
1、构建镜像
dockerbuild-tnuxt-demo
2、启动容器
dockerrun-dt-p3000:3000nuxt-demo
3、访问
打开浏览器,访问127.0.0.1:3000
1、可以用DockerCompose对容器进行编排,快速的部署多容器应用。
2、可以用nginx对容器进行代理,避免直接以端口的形式访问容器。
到此这篇关于Docker部署Nuxt.js项目的实现的文章就介绍到这了,更多相关Docker部署Nuxt.js内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!