初始化⼀个NodeJs程序

以下操作必须已经安装了NodeJS。

⾸先创建⼀个空⽂件夹。并创建以下⽂件:

server.js

package.json

Dockerfile

.dockerignore

然后在server.js写⼊

  1. const koa = require('koa');
  2. const app = new koa();
  3. app.use(async ctx =>{
  4. ctx.body = "Hello docker";
  5. });
  6. app.listen(3000);

在package.json中写⼊

  1. {
  2. "name":"docker_demo",
  3. "version":"0.1.0",
  4. "private:true",
  5. "script":{
  6. "start":"node server.js"
  7. },
  8. "dependencies":{
  9. "koa":"^2.5.0"
  10. }
  11. }
  1. npm start

创建dockerfile文件

Dockerfile是由⼀系列命令和参数构成的脚本,⼀个Dockerfile⾥⾯包含了构建整个image的完整命

令。Docker通过docker build执⾏Dockerfile中的⼀系列命令⾃动构建image. 在.dockerignore⽂件⾥

⾯写⼊代码。表示过滤该类型的⽂件。类似git的.gitignore

.dockerignore

  1. # Logs
  2. logs
  3. *.log
  4. npm-debug.log*
  5. # Runtime data
  6. pids
  7. *.pid
  8. *.seed
  9. # Directory for instrumented libs generated by jscoverage/JSCover
  10. lib-cov
  11. # Coverage directory used by tools like istanbul
  12. coverage
  13. # nyc test coverage
  14. .nyc_output
  15. # Grunt intermediate storage (http://gruntjs.com/creatingplugins#storing-task-files)
  16. .grunt
  17. # node-waf configuration
  18. .lock-wscript
  19. # Compiled binary addons (http://nodejs.org/api/addons.html)
  20. build/Release
  21. # Dependency directories
  22. node_modules
  23. jspm_packages
  24. # Optional npm cache directory
  25. .npm
  26. # Optional REPL history
  27. .node_repl_history
  28. .idea
  29. .node_modules
  30. node_modules
  31. .vscode
  1. [root@Sandbox-N ~]# docker build -t docker_demo .
  2. Sending build context to Docker daemon 39.94kB
  3. Step 1/7 : FROM node:8.9-alpine
  4. ---> 406f227b21f5
  5. Step 2/7 : MAINTAINER robin
  6. ---> Using cache
  7. ---> 78d6cdbcfee2
  8. Step 3/7 : ADD . /app/
  9. ---> 2cb30678612d
  10. Step 4/7 : WORKDIR /app
  11. Removing intermediate container e51377081039
  12. ---> c2b7d0f37d2d
  13. Step 5/7 : RUN npm install
  14. ---> Running in da0c3946ca8d
  15. npm notice created a lockfile as package-lock.json. You should commit
  16. this file.
  17. added 38 packages in 3.323s
  18. Removing intermediate container da0c3946ca8d
  19. ---> eecee87f10e2
  20. Step 6/7 : EXPOSE 3000
  21. ---> Running in f3973cc168a4
  22. Removing intermediate container f3973cc168a4
  23. ---> 2671a4c6deb4
  24. Step 7/7 : CMD ["npm", "start"]
  25. ---> Running in dec529f754aa
  26. Removing intermediate container dec529f754aa
  27. ---> 6ec73793d353
  28. Successfully built 6ec73793d353
  29. Successfully tagged docker_demo:lates

等待镜像构造完成。然后使⽤ images命令查看镜像

此时可以看到images已经构造完成。现在开始启动images,并测试。

  1. # 启动镜像 -d表示后台执⾏,-p 9000:3000表示指定本地的9000端⼝隐射到容器内的3000端,
  2. docker_demo为镜像名称
  3. docker run -d -p 9000:3000 docker_demo
  4. #查看容器
  5. docker ps

如果此时本地⽆法打开。可以使⽤log命令查看⽇志。根据⽇志修改对应出现的对⽅

docker下node环境搭建的更多相关文章

  1. Docker下FastDFS环境搭建

    本文使用docker进行搭建. #拉取镜像docker pull delron/fastdfs​#创建tracker容器docker create --network=host --name trac ...

  2. RF+Appium框架自动化测试系列一之(Mac下Appium环境搭建)万事开头难

    消失了3个月,有一段时间没来园子更新博客了,各位看官见谅哈哈,消失是因为刚换了工作环境没外网,好多笔记没能及时的记录分享,以后有时间慢慢补上吧,这段时间主要接触了移动端app的自动化测试,公司为了快速 ...

  3. Ubuntu 基于Docker的TensorFlow 环境搭建

    基于Docker的TensorFlow 环境搭建 基于(ubuntu 16.04LTS/ubuntu 14.04LTS) 一.docker环境安装 1)更新.安装依赖包 sudo apt-get up ...

  4. EOS Dapp开发(1)-基于Docker的开发环境搭建

    随着EOS主网的上线,相信基于EOS的Dapp开发会越来越多,查阅了很多资料相关的开发资料都不是很多,只能自己摸索,按照网上仅有的几篇教程,先git clonehttps://github.com/E ...

  5. Solr3.6.1 在Tomcat6下的环境搭建

    Solr3.6.1 在Tomcat6下的环境搭建 Tomcat路径:D:\prg\apache-tomcat-6-solr 简写为tomcat_home Solr文件下载保存路径为:F:\softwa ...

  6. 【转】android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创)

    原文网址:http://www.cnblogs.com/zdz8207/archive/2012/11/27/android-ndk-install.html android 最新 NDK r8 在w ...

  7. Windows下的环境搭建Erlang

    Windows下的环境搭建 Erlang 一.安装编译器 在http://www.erlang.org/download.html下载R16B01 Windows Binary File并安装. 二. ...

  8. 跟我一起,利用bitcms内容管理系统从0到1学习小程序开发:一、IIS下SSL环境搭建

    缘起 1.从事互联网十来年了,一直想把自己的从事开发过程遇到的问题给写出来,分享给大家.可是可是这只是个种想法,想想之后就放下了,写出来的类文章是少之又少.古人说无志之人常立志,有志之人立长志.今天, ...

  9. eclipse工具下hadoop环境搭建

    eclipse工具下hadoop环境搭建:    window10操作系统中搭建eclipse64开发系统,配置hadoop的eclipse插件,让eclipse可以查看Hdfs中的文件内容.     ...

随机推荐

  1. CoAP调试工具 Mozi.IoT.CoAP

    前言 CoAP是一种类HTTP协议的物联网专用协议,其数据包为人类不可阅读的字节流形式,在开发相关应用的时候往往不能准确的了解数据包的内容.故需要专用的调试工具对数据和通讯进行调试. CoAP协议介绍 ...

  2. Python多线程Threading爬取图片,保存本地,openpyxl批量插入图片到Excel表中

    之前用过openpyxl库保存数据到Excel文件写入不了,换用xlsxwriter 批量插入图片到Excel表中 1 import os 2 import requests 3 import re ...

  3. 【mq】从零开始实现 mq-01-生产者、消费者启动

    MQ 是什么? MQ(Message Queue)消息队列,是基础数据结构中"先进先出"的一种数据结构. 指把要传输的数据(消息)放在队列中,用队列机制来实现消息传递--生产者产生 ...

  4. 接口测试框架实战(一) | Requests 与接口请求构造

    1080×388 33.4 KB Requests 是一个优雅而简单的 Python HTTP 库,其实 Python 内置了用于访问网络的资源模块,比如urllib,但是它远不如 Requests ...

  5. 『现学现忘』Git对象 — 16、Tree对象详解

    目录 1.Tree对象介绍 2.Tree对象说明 (1)初始化一个新的本地版本库 (2)创建一个树对象(重点) (3)创建第二个文件(重点) (4)将第一个树对象加入暂存区,使其成为新的树对 3.总结 ...

  6. Linux-编译安装http-实验

    准备工作 1.关闭防火墙和SELinux 2.基础安装的系统,安装以下命令 yum install gcc make autoconf gcc-c++ glibc glibc-devel pcre p ...

  7. python写一个能变身电光耗子的贪吃蛇

    python写一个不同的贪吃蛇 写这篇文章是因为最近课太多,没有精力去挖洞,记录一下学习中的收获,python那么好玩就写一个大一没有完成的贪吃蛇(主要还是跟课程有关o(╥﹏╥)o,课太多好烦) 第一 ...

  8. CSS Diner详解

    详细CSS Diner CSS Diner想必很多人听过,这是一个练习CSS中的选择器的不错的网站,最近在学习前端,打算好好写一下 常用英文单词: plates:盘子 bento:盒饭.便当 pick ...

  9. (数据科学学习手札136)Python中基于joblib实现极简并行计算加速

    本文示例代码及文件已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 我们在日常使用Python进行各种数据计算 ...

  10. leetcode 3. Longest Substring Without Repeating Characters 无重复字符的最长子串

    一.题目大意 https://leetcode.cn/problems/longest-substring-without-repeating-characters/ 给定一个字符串 s ,请你找出其 ...