码头工人使用编写dockerfile启动node . js应用

  

<强>编写Dockerfile

  

以<代码> 表达自动创建的目录为例,目录结构如下:

        ├──/bin   │└──www   ├──/node_modules   ├──/公众   ├──/路线   ├──/观点   ├──package-lock.json   ├──package.json   ├──ecosystem.config.js   ├──app.js   └──Dockerfile      

在项目目录下新建<代码> Dockerfile 文件

        从节点:10.15   维护者sunhengzhe@foxmail.com   副本。/应用程序/WORKDIR/应用程序   运行npm安装pm2 - g   8003年公开   CMD (“pm2-runtime”、“ecosystem.config.js”)      
      <李>从指定基础镜像为节点的10.15版本(节点官方版本可在此查看)   <李>维护者说明镜像的维护者李   <李>复制命令将宿主机的文件拷贝到镜像中,格式为复制[——乔恩=& lt; user>: & lt; group>] & lt;源路径在…& lt;目标路径祝辞,这里将项目目录下的所有文件都拷贝到镜像中的/app目录下。如果目标路径不存在,码头工人将自动创建。   <李> WORKDIR用来指定工作目录,即是CMD执行所在的目录。   <李>运行命令用来执行shell命令,这里用来安装pm2李   <李>暴露命令用来声明运行时容器提供服务端口,但要注意运行时并不会开启这个端口的服务,这个命令主要是帮助使用者理解这个镜像服务的守护端口,以方便配置映射;另外在使用随机端口映射时,会自动随机映射暴露的端口   <李> CMD是默认的容器主进程的启动命令李   
  

构建镜像

  

在项目目录下执行

        码头工人构建- t express-app: v1。      

如果构建成功,查看镜像列表

        码头工人图片      

应该会输出镜像<代码> express-app: v1

  

码头工人使用编写dockerfile启动node . js应用“> </p>
  <p>运行容器</p>
  
  <pre类=   码头工人运行- d - p 8003:3000 - name=" express-app " express-app: v1      

<代码>码头工人运行是<代码>码头工人创建和<代码>码头工人开始>   

      <李> <代码> - 即<代码>——分离>   <李> <代码> p>   <李> <代码>——名称> tender_swirles 之类的。   
  

执行         码头工人ps      

正常展示如下

  

码头工人使用编写dockerfile启动node . js应用“> </p>
  <p>添加<代码>——</代码>参数可以查看所有已启动容器。</p>
  <p> <强>进入容器</强> </p>
  <p>如果要进入容器进行操作,执行下面命令</p>
  
  <pre类=   码头工人exec - express-app bash      

码头工人使用编写dockerfile启动node . js应用“> </p>
  <p> <代码> - </代码>与<代码> - t </代码>一般结合使用,<代码> - </代码>启动交互模式,<代码> - t> </代码指定需要分配终端,可以自行尝试不传其中一个的效果。</p>
  <p>与<代码>执行</代码>类似的还有<代码> </代码>附加命令,命令为<代码>码头工人附加express-app> </代码,但从这个stdin中退出,会导致容器的停止,所以推荐使用<代码>执行</代码>命令。</p>
  <p> <>强关闭操作</强> </p>
  <p> <强>停止容器</强> </p>
  
  <pre类=   码头工人停止express-app      

<>强删除容器

        码头工人rm express-app      

如果删除时容器还在运行,需要加上<代码> - f 参数

  

<>强删除镜像

        码头工人rmi express-app: v1      

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

码头工人使用编写dockerfile启动node . js应用