docker下node环境搭建
初始化⼀个NodeJs程序
以下操作必须已经安装了NodeJS。
⾸先创建⼀个空⽂件夹。并创建以下⽂件:
server.js
package.json
Dockerfile
.dockerignore
然后在server.js写⼊
const koa = require('koa');
const app = new koa();
app.use(async ctx =>{
ctx.body = "Hello docker";
});
app.listen(3000);
在package.json中写⼊
{
"name":"docker_demo",
"version":"0.1.0",
"private:true",
"script":{
"start":"node server.js"
},
"dependencies":{
"koa":"^2.5.0"
}
}
npm start
创建dockerfile文件
Dockerfile是由⼀系列命令和参数构成的脚本,⼀个Dockerfile⾥⾯包含了构建整个image的完整命
令。Docker通过docker build执⾏Dockerfile中的⼀系列命令⾃动构建image. 在.dockerignore⽂件⾥
⾯写⼊代码。表示过滤该类型的⽂件。类似git的.gitignore
.dockerignore
# Logs
logs
*.log
npm-debug.log*
# Runtime data
pids
*.pid
*.seed
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul
coverage
# nyc test coverage
.nyc_output
# Grunt intermediate storage (http://gruntjs.com/creatingplugins#storing-task-files)
.grunt
# node-waf configuration
.lock-wscript
# Compiled binary addons (http://nodejs.org/api/addons.html)
build/Release
# Dependency directories
node_modules
jspm_packages
# Optional npm cache directory
.npm
# Optional REPL history
.node_repl_history
.idea
.node_modules
node_modules
.vscode
[root@Sandbox-N ~]# docker build -t docker_demo .
Sending build context to Docker daemon 39.94kB
Step 1/7 : FROM node:8.9-alpine
---> 406f227b21f5
Step 2/7 : MAINTAINER robin
---> Using cache
---> 78d6cdbcfee2
Step 3/7 : ADD . /app/
---> 2cb30678612d
Step 4/7 : WORKDIR /app
Removing intermediate container e51377081039
---> c2b7d0f37d2d
Step 5/7 : RUN npm install
---> Running in da0c3946ca8d
npm notice created a lockfile as package-lock.json. You should commit
this file.
added 38 packages in 3.323s
Removing intermediate container da0c3946ca8d
---> eecee87f10e2
Step 6/7 : EXPOSE 3000
---> Running in f3973cc168a4
Removing intermediate container f3973cc168a4
---> 2671a4c6deb4
Step 7/7 : CMD ["npm", "start"]
---> Running in dec529f754aa
Removing intermediate container dec529f754aa
---> 6ec73793d353
Successfully built 6ec73793d353
Successfully tagged docker_demo:lates
等待镜像构造完成。然后使⽤ images命令查看镜像
此时可以看到images已经构造完成。现在开始启动images,并测试。
# 启动镜像 -d表示后台执⾏,-p 9000:3000表示指定本地的9000端⼝隐射到容器内的3000端,
docker_demo为镜像名称
docker run -d -p 9000:3000 docker_demo
#查看容器
docker ps
如果此时本地⽆法打开。可以使⽤log命令查看⽇志。根据⽇志修改对应出现的对⽅
docker下node环境搭建的更多相关文章
- Docker下FastDFS环境搭建
本文使用docker进行搭建. #拉取镜像docker pull delron/fastdfs#创建tracker容器docker create --network=host --name trac ...
- RF+Appium框架自动化测试系列一之(Mac下Appium环境搭建)万事开头难
消失了3个月,有一段时间没来园子更新博客了,各位看官见谅哈哈,消失是因为刚换了工作环境没外网,好多笔记没能及时的记录分享,以后有时间慢慢补上吧,这段时间主要接触了移动端app的自动化测试,公司为了快速 ...
- Ubuntu 基于Docker的TensorFlow 环境搭建
基于Docker的TensorFlow 环境搭建 基于(ubuntu 16.04LTS/ubuntu 14.04LTS) 一.docker环境安装 1)更新.安装依赖包 sudo apt-get up ...
- EOS Dapp开发(1)-基于Docker的开发环境搭建
随着EOS主网的上线,相信基于EOS的Dapp开发会越来越多,查阅了很多资料相关的开发资料都不是很多,只能自己摸索,按照网上仅有的几篇教程,先git clonehttps://github.com/E ...
- Solr3.6.1 在Tomcat6下的环境搭建
Solr3.6.1 在Tomcat6下的环境搭建 Tomcat路径:D:\prg\apache-tomcat-6-solr 简写为tomcat_home Solr文件下载保存路径为:F:\softwa ...
- 【转】android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创)
原文网址:http://www.cnblogs.com/zdz8207/archive/2012/11/27/android-ndk-install.html android 最新 NDK r8 在w ...
- Windows下的环境搭建Erlang
Windows下的环境搭建 Erlang 一.安装编译器 在http://www.erlang.org/download.html下载R16B01 Windows Binary File并安装. 二. ...
- 跟我一起,利用bitcms内容管理系统从0到1学习小程序开发:一、IIS下SSL环境搭建
缘起 1.从事互联网十来年了,一直想把自己的从事开发过程遇到的问题给写出来,分享给大家.可是可是这只是个种想法,想想之后就放下了,写出来的类文章是少之又少.古人说无志之人常立志,有志之人立长志.今天, ...
- eclipse工具下hadoop环境搭建
eclipse工具下hadoop环境搭建: window10操作系统中搭建eclipse64开发系统,配置hadoop的eclipse插件,让eclipse可以查看Hdfs中的文件内容. ...
随机推荐
- MATLAB地图工具箱学习心得(一)关于地图分带投影的拼接
关于matlab地图投影系列: MATLAB地图工具箱学习心得(二)设计可变参数和位置拾取的"放大镜"式投影程序 --- 本学期的地图投影课程已经结束了,这篇博客用于记录自己在学习 ...
- js字符串操作方法集合
1.字符方法: str.charAt(): 可以访问字符串中特定的字符,可以接受0至字符串长度-1的数字作为参数,返回该位置下的字符,如果参数超出该范围,返回空字符串,如果没有参数,返回位置为0的字符 ...
- python学习-Day17
目录 今日内容详细 生成器对象(自定义迭代器) 小总结 自定义range方法 通过生成器模拟range方法 先以两个参数的range方法为例 针对一个参数情况 针对三个参数情况 自定义的range方法 ...
- 劳动节快乐!手写个核心价值观编码工具 - Python实现
前言 今天是五一劳动节,祝各位无产阶级劳动者节日快乐! 然后来整活分享一些有趣的东西~ 这个小工具是我大学时做着玩的,对于各位接班人来说,12个词的核心价值观这东西,大家都非常熟悉了,这工具可以实现将 ...
- 推荐三个好用的TamperMonkey洛谷插件
Part 1: TamperMonkey 插件 Part 1.1 什么是 Tampermonkey 在我们学习的过程中,往往想要更多功能,这时候可以使用 TamperMonkey 插件进行美化 官网介 ...
- node技术是啥?
node.js 一句话,就是把js代码放在服务器段运行的一种技术.
- 【mq】从零开始实现 mq-09-消费者拉取消息 pull message
前景回顾 [mq]从零开始实现 mq-01-生产者.消费者启动 [mq]从零开始实现 mq-02-如何实现生产者调用消费者? [mq]从零开始实现 mq-03-引入 broker 中间人 [mq]从零 ...
- mysql忘记root密码实现免密登录
1.配置my.cnf文件,跳过授权表: skip-grant-tables 2.重启mysqld服务 3.z直接mysql登录 4.use mysql这个数据库 5.设置密码: update user ...
- 2021夏季学期华清大学EE数算OJ1:算数问题
第一次写博客,有点紧张... 也许格式也没有特别丑吧 先看原题( 此题做法众多,这里仅仅介绍蒟蒻的一种很复杂的思路(但最后还是喜提0ms的好成绩) 读完这道题,不难发现,此题不过是一个质因数分解+一堆 ...
- vc2010以及VS2019安装使用教程
一.vc2010的安装教程. ①下载(由于是一个离线文件,可关注后找我) ②下载好并解压安装文件后,打开解压后的文件进行运行安装. 点击"setup"根据提示安装即可. ③安装后点 ...