所在的位置: 前端 >> 前端发展 >> 用Docker和DockerCompos

用Docker和DockerCompos

在过去的几年中,Docker和Node.js都变得非常流行。对于开发人员来说利用这些新技术来改善自己的开发体验很有必要,而且在此过程中还可以学习新技术。遵循Coding到老,学习到老,折腾到老的宗旨,本文我们将介绍将如何结合Node.js与Docker来改善开发人员体验,包括使用dockerbuild和利用DockerCompose来实现无缝的本地前端开发环境。

概述

本文中,我们以Express.js为一个示例展开,需要实现了解一丁点Node.js和npm的基础知识。还要了解Express.js框架的基础知识。

对Docker也要有一定的概念和要会基础操作(不会也没关系,很容易)。

最后本文全程使用Linux(Mac)shell终端命令行。

创建Express.js项目

为了要生成示范应用程序,需要使用Express应用程序生成器。需要运行以下npx命令行:

npxexpress-generator--view=pug--gitapp-name

Express生成器将生成Express应用。--view=pub选项表示使用pug视图引擎。--git表示用来给项目添加一个git.gitignore文件。

生成效果如下:

测试Express应用

要测试该应用程序,需要运行npminstall安装所有必需的npm模块。然后,运行以下命令以启动应用程序:

DEBUG=nodejs-docker-express:*npmstart

如果没有异常,应该会到一条类似的消息。

nodejs-docker-express:serverListeningonport

上面的命令非常简单:它运行一个环境变量DEBUG=nodejs-docker-express,用来表示服务器进行详细的调试。

对Windows系统,使用的参数要修改为:

setDEBUG=nodejs-docker-express:*npmstart。

现在打开浏览器,在地址栏并输入localhost:并访问:

这样示例的Express.js应用就已经在运行OK了。是不是非常简单?有此基本的Hello,World!为基础,我们进一步深入。

Docker多阶段构建

容器化应用程序有很多好处:首先,无论运行平台是什么,其行为都相同。借助Docker容器,应用程序可以轻松部署到各个公有容器云(比如AWSFargate,GoogleCloudRun),自建的K8S集群中,甚至本地docker上。

容器化,基础是Dockerfile。Dockerfile是构建Docker镜像的基础。用Dockerfile编译生成的镜像运行时,就称之为容器。

如图示,整个过程非常简单:从Dockerfile构建Docker镜像。运行镜像,得到运行时容器。

Dockerfile

Dockerfile有一些类似命令行的语句:

FROMnode:14-alpineasbase

WORKDIR/src

COPYpackage*.json/

EXPOSE

FROMbaseasproduction

ENVNODE_ENV=production

RUNnpmci

COPY./

CMD[node,bin/


转载请注明:http://www.aierlanlan.com/tzrz/2743.html

  • 上一篇文章:
  •   
  • 下一篇文章: 没有了