docker学习实践之路[第三站]node站点部署

拉取node镜像

docker pull node 

定制Dockerfile文件

FROM node
EXPOSE 8360
ENTRYPOINT [ "node", "/www/production.js" ]
  • FROM 指定基础镜像:

    所谓定制镜像,那一定是以一个镜像为基础,在其上进行定制。就像我们之前运行 了一个 nginx 镜像的容器,再进行修改一样,基础镜像是必须指定的。而 FROM 就是指定基础镜像,因此一个 Dockerfile 中 FROM 是必备的指令,并 且必须是第一条指令。

  • EXPOSE 声明端口

    EXPOSE 指令是声明运行时容器提供服务端口,这只是一个声明,在运行时并不 会因为这个声明应用就会开启这个端口的服务。在 Dockerfile 中写入这样的声明有 两个好处,一个是帮助镜像使用者理解这个镜像服务的守护端口,以方便配置映 射;另一个用处则是在运行时使用随机端口映射时,也就是 docker run -P 时,会自动随机映射 EXPOSE 的端口。

  • ENTRYPOINT 入口点

    ENTRYPOINT 的目的和 CMD 一样,都是在指定容器启动程序及参 数。 ENTRYPOINT 在运行时也可以替代,不过比 CMD 要略显繁琐,需要通过 docker run 的参数 --entrypoint 来指定。

建立镜像

docker build -t mythinkjs .

mythinkjs为新建立镜像的名称,尾部的.必须添加,这个是指明在当前位置寻找Dockerfile文件。

测试运行

docker run --name mythinkjs -d -v /mnt/www/w2:/www -p 80:8360 thinkjs_demo

 

 

 上面命令如有不清楚请看上一篇文章。

下面结果:

 

posted @ 2017-11-24 11:31  xingbo  阅读(258)  评论(0编辑  收藏  举报