文档章节

windows10 下docker部署nodejs

hxf10047
 hxf10047
发布于 2016/08/27 09:51
字数 536
阅读 103
收藏 0

做完看见网上很多都都不熟nodejs到docker上运行:

 根据个人总结包含两种:一种是通过dockerFile直接打包成镜像进行运行;另一种则是挂在到docker镜像上进行运行。

今天讲解的是通过挂在nodejs项目到镜像上进行安装,首先我通过http://blog.shiqichan.com/Dockerizing-a-Node-js-Web-Application/ 该文进行nodejs镜像的下载:

PS C:\Users\hxf> docker run -it --rm node node --version
Unable to find image 'node:latest' locally
latest: Pulling from library/node

357ea8c3d80b: Pull complete
52befadefd24: Pull complete
3c0732d5313c: Pull complete
ceb711c7e301: Pull complete
868b1d0e2aad: Pull complete
61d10f626f84: Pull complete
Digest: sha256:12899eea666e85f23e9850bd3c309b1ee28dd0869f554a7a6895fc962d9094a3
Status: Downloaded newer image for node:latest
v6.4.0
PS C:\Users\hxf> docker run -it --rm node node --version
v6.4.0
PS C:\Users\hxf> git clone https://github.com/MarshalW/ProtoWebApp.git
Cloning into 'ProtoWebApp'...
remote: Counting objects: 44, done.
remote: Compressing objects: 100% (22/22), done.
remote: Total 44 (delta 17), reused 44 (delta 17), pack-reused 0
Unpacking objects: 100% (44/44), done.
Checking connectivity... done.

进行到这一步,已经有nodejs镜像和nodejs项目,接下来就是进行nodejs的挂在和运行;

PS C:\Users\hxf\ProtoWebApp> docker run --rm -it -p 3000:3000 --name ProtoWebApp -v "$(pwd)":/webapp -w /webapp  node npm start
C:\Program Files\Docker\Docker\Resources\bin\docker.exe: Error parsing reference: ":/webapp" is not a valid repository/tag.
See 'C:\Program Files\Docker\Docker\Resources\bin\docker.exe run --help'.

进行这一步报错,首先解释一下参数,

--rm 是指运行时加载到镜像,停止后,镜像中删除该应用

-p 是制定代理端口,

--name 制定应用id

-v 挂载本地目录,冒号后面是挂在镜像中的位置

-w 是工作目录

后面跟着的是运行命令。

对于错误原因,则是docker不能识别挂在的镜像,挂在的镜像必须是绝对路径,但是对于不识别的原因,寻找了一会,这是因为windows中的硬盘标识符需要共享出来,到docker setting中,把包含你项目运行的表示服共享出来,这样docker就可以认识了,此处有官方文档知道可以看看https://docs.docker.com/docker-for-windows/;

通过设置后再次运行该命令不报错,正常运行,并可以访问本地3000

出现需要的画面。

© 著作权归作者所有

hxf10047
粉丝 1
博文 26
码字总数 11602
作品 0
高级程序员
私信 提问
Nodejs Docker 镜像体积优化实践

你讨厌部署你的应用程序花费很长时间吗? 对于单个容器来说,超过gb并不是最佳实践。每次部署新版本时都要处理数十亿字节,这对我们来说并不太合适。 本文将通过Nodejs程序展示如何优化Docke...

lvwxx
04/10
0
0
🐠从零开始Docker化你的Node.js应用

背景 给你一台新买的服务器(CentOS),相关账户及密码,一个基于Node.js开发的web应用源码包(zip),要求你在新机器上使用Docker的方式把应用部署起来。此时的你,并没有搞清楚什么是容器/镜像...

levy9527
2018/06/22
0
0
从零开始Docker化你的Node.js应用

背景 给你一台新买的服务器(CentOS),相关账户及密码,一个基于Node.js开发的Web应用源码包(zip),要求你在新机器上使用Docker的方式把应用部署起来。此时的你,并没有搞清楚什么是容器/...

Docker
2018/06/30
0
0
一步步学会用docker部署应用(nodejs版)

一步步学会用docker部署应用(nodejs版) 阅读目录 docker基础 Dockerfile docker-compose 示例:搭建nodejs应用 运行与扩展 参考 一步步学会用docker部署应用 docker是一种虚拟化技术,可以在...

优惠券活动
02/28
0
0
Kubernetes系列之四:使用yaml文件创建deployment来部署一个应用程序到k8s集群

目的 从零开始开发一个超小的应用,将它打包成一个image,利用yaml文件部署到kube集群中。 具体的思路是:在开发环境中,打算创建一个node.js应用程序,因为使用它可以让我的程序足够简单,然...

huojiao2006
2018/11/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

java通过ServerSocket与Socket实现通信

首先说一下ServerSocket与Socket. 1.ServerSocket ServerSocket是用来监听客户端Socket连接的类,如果没有连接会一直处于等待状态. ServetSocket有三个构造方法: (1) ServerSocket(int port);...

Blueeeeeee
今天
6
0
用 Sphinx 搭建博客时,如何自定义插件?

之前有不少同学看过我的个人博客(http://python-online.cn),也根据我写的教程完成了自己个人站点的搭建。 点此:使用 Python 30分钟 教你快速搭建一个博客 为防有的同学不清楚 Sphinx ,这...

王炳明
昨天
5
0
黑客之道-40本书籍助你快速入门黑客技术免费下载

场景 黑客是一个中文词语,皆源自英文hacker,随着灰鸽子的出现,灰鸽子成为了很多假借黑客名义控制他人电脑的黑客技术,于是出现了“骇客”与"黑客"分家。2012年电影频道节目中心出品的电影...

badaoliumang
昨天
14
0
很遗憾,没有一篇文章能讲清楚线程的生命周期!

(手机横屏看源码更方便) 注:java源码分析部分如无特殊说明均基于 java8 版本。 简介 大家都知道线程是有生命周期,但是彤哥可以认真负责地告诉你网上几乎没有一篇文章讲得是完全正确的。 ...

彤哥读源码
昨天
15
0
jquery--DOM操作基础

本文转载于:专业的前端网站➭jquery--DOM操作基础 元素的访问 元素属性操作 获取:attr(name);$("#my").attr("src"); 设置:attr(name,value);$("#myImg").attr("src","images/1.jpg"); ......

前端老手
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部