Docker教程二之基于Centos7的NodeJS环境镜像

8 篇文章 0 订阅
8 篇文章 0 订阅

上一章我完成了第一个系统镜像,这一章我需要来编写一个基于CentOS 7的NodeJs环境镜像

 

有NodeJS 基础的都找到NodeJS 是运行在服务器的web轻量级框架,并发高,运转快,对于开发者而言,简单,方便,这里就不说明NodeJs的基础了,自行百度即可

 

资源: nodeJS 下载地址

 

干货,直接上 dockerfile 

From centos:7
MAINTAINER xxxxxxx xxxx@xxx.xx

ADD node-v8.9.0-linux-x64.tar.xz /usr/local
RUN mv /usr/local/node-v8.9.0-linux-x64 /usr/local/node
ENV PATH $PATH:/usr/local/node/bin 
WORKDIR /app
EXPOSE 80 443 43554 3000 8888
CMD ["npm" , "start"]

 

解释:

From 引用CentOS 7 的基础镜像(上一章编译而来)

 

ADD node-v8.9.0-linux-x64.tar.xz /usr/local 添加并解压文件到指定目录

 

RUN mv /usr/local/node-v8.9.0-linux-x64 /usr/local/node 执行修改名称命令,RUN实在dockerfile 中用于执行某条脚本的命令

 

ENV PATH $PATH:/usr/local/node/bin  设置NodeJs的环境变量,ENV 专用来设置环境变量的

 

CMD ["/bin/bash"] 这句话是用来执行命令的,比如我要做的某件事,这里要注意,CMD是一个Dockerfile中只能有一条CMD命令,多条则只执行最后一条CMD,所以使用时注意

 

WORKDIR /app 创建文件夹并且进入到该目录下

 

EXPOSE 80 443 43554 3000 8888 开放端口,按个人要求,NodeJs 中 express 框架默认端口一般为 3000,我同时开通了8888 端口,有程序决定

 

CMD ["npm" , "start"] 执行启动,这里说明下,通过上面WORKDIR  命令,我已经进入/app 目录文件夹下,所以我们在这里可以执行命令,因为 /app 目录为我的程序存放目录,再一个问题,[]中写入2个命令 ,因为在执行过程中,是以”/bin/sh -c”的方法执行的,所以最好写成 一次一个命令的方式

 

编译: docker build --rm -t nodejs:8.9 . 

 

最后的启动

docker run -d -p 8890:8888 -v /root/blog:/app --restart=always --name blog2 nodejs:8.9

其中/app 是node镜像中 web 的项目地址,将本地的web项目文件夹挂载到镜像中去, 在启动容器时,npm start命令会运行 node 项目

 

对于dockerfile 中的指令, 具体再上面的教程基础中去查看吧

 

可以看我的码云:去码云看看

 

第二章,到此结束

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值