zoukankan      html  css  js  c++  java
  • 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

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

    下面结果:

  • 相关阅读:
    jar包打包成exe示例(基于maven项目)
    助教小工具
    HUST软件测试1504班: 第0周作业成绩
    软件质量与测试2018春第0周作业1:开设博客
    RobotFramework学习-问题
    Java读取本地文件乱码的解决方案
    滑动窗口模板题(对读写性能要求贼高)
    Invalid index name [xxx], must be lowercase
    Java自动装箱和自动拆箱的理解
    TKMabatis坑
  • 原文地址:https://www.cnblogs.com/xingbo/p/7889785.html
Copyright © 2011-2022 走看看