一、关于Docker

什么是Docker?Docker 采用go语言编写,是一个开源的应用容器引擎。让开发者可以快速打包他们的应用以及依赖包到一个封装的可移植的容器Image中,然后发布到任何流行的机器( Linux ,windows,Mac等)上,也可以实现虚拟化。容器是使用完全独立的沙箱机制,相互之间不会有任何接口。可以同时运行多个Container,且相互独立各不干扰,对于多环境下的系统测试非常有用,但是Docker的应用远不止此。

二、安装

1. Windows 7系统下建议使用Docker toolbox方式安装,简单粗暴直接快速省事!

    https://www.docker.com/products/docker-toolbox

 Windows 10 系统下使用 Docker Coumunity Edition

    http://get.daocloud.io/#install-docker-for-mac-windows

    https://www.docker.com/community-edition#/windows

2.因为目前win7系统占多数,直接介绍Docker toolbox:

docker toolbox是一个工具集,它主要包含以下一些内容:

     1、Docker CLI 客户端,用来运行docker引擎创建镜像和容器

     2、Docker Machine. 可以让你在windows的命令行中运行docker引擎命令

     3、Docker Compose. 用来运行docker-compose命令

     4、Kitematic. 这是Docker的GUI版本

     5、Docker QuickStart shell. 这是一个已经配置好Docker的命令行环境

     6、Oracle VM Virtualbox. 虚拟机

    由于Docker引擎的守护进程使用的是Linux的内核,所以我们不能够直接在windows中运行docker引擎。而是需要运行Docker Machine命令 docker-machine, 在你的机器上创建和获得一个Linux虚拟机,

    用这个虚拟机才可以在你的windows系统上运行Docker引擎

3.准备工作:

Windows 7和10 x64,支持Hyper-V

4.安装Docker Toolbox

下载完成后安装  

    在这一步,你将安装Docker Toolbox。安装后你的系统将会安装以下几个软件:

    1、Windows版的Docker客户端

    2、Docker Toolbox管理工具和ISO镜像

    3、Oracle VM Virtualbox

    4、Git MSYS-git Unix 工具

5.确认是否安装成功

  安装完成后,你会在你的电脑桌面上看到新增了三个图标

    

  双击Docker Quickstart Terminal图标,启动一个终端

  第一次启动的话你会看到命令行会输出一些东西,等待一下,它会配置Docker Toolbox,之后,当它完成后,你会看到启动成功的画面

  若在bash界面提示没有boot2docker镜像,需要在github上下载,提示大概如下

  这是因为没有找到默认的boot2docker镜像的原因,提示正在下载,然而github的下载速度不可恭维,第一反应都是找别的站资源下载。

在此要注意了,不同的docker版本最好要对应相同的boot2docker版本,相信打开github下载页的应该都留意到。最后我才发现,其实不用下载,

在一开始安装好的DockerToolbox根目录下就有一个boot2docker,并且可以推断就是对应的版本。

    

  把boot2docker.iso复制到,bash所提示找不到的那个目录下(我这里是C:\Users\Administrator\.docker\machine\cache)。

  然后再次双击Docker Quickstart Terminal图标,出现如下界面,说明安装成功了。

在命令行中输入docker run hello-world并按回车键,如果docker配置成功的话,你会看到命令行中有如下输出:

windows下安装好了docker环境配置完成。

三、搭建一个包含Nodejs环境的简单webApp的image

1.本地配置完Nodejs环境(参考nodejs官网: https://nodejs.org/en/download/)

2.去express官网下载generator

参考步骤: http://expressjs.com/en/starter/generator.html

3.安装后在对应的express应用文件夹下比如 C:/myspp:

新建文件Dockerfile,拷贝下面code

# Express-App
#
# VERSION 1.0.0

FROM node:latest

RUN mkdir -p /home/www/express-app
WORKDIR /home/www/express-app

COPY . /home/www/express-app
RUN npm install

EXPOSE 3000
CMD ["npm", "start"]

然后双击桌面DockerQuickStartTerminal图标,进入DockerTerminal界面:

跳转到刚才安装的express应用文件路径: cd C:/myapp

注意在Docker Terminal中文件路径的斜杠是反的,与直接拷贝出来的路径不同,要改成反斜杠,否则docker跳转不了。

然后输入 : docker build -t myapp .   (注意后面的点)

运行结果如下:

看到successfully build ***** 就表示image构建成功了。

然后验证一下是不是image已经有了: docker images

可以通过dicker history查看镜像构建过程: docker history myapp

然后把image run起来:docker run  -p 3000:3000 myapp

如果要让docker终端后台运行: 在参数上加 -d

可以通过docker ps查看运行情况:

在本地浏览器输入:192.168.99.100:3000 查看运行的app:(注意使用docker toolbox时不是使用127.0.0.1,而是要使用启动docker时分配的那个ip地址)

查看浏览器webapp运行情况:

参考文档:https://www.cnblogs.com/lujiangping/p/7206503.html

http://www.jb51.net/article/104251.htm

Docker windows下安装并搭建Nodejs的webapp的更多相关文章

  1. Windows 下安装 nvm 管理 nodejs 版本

    摘自https://segmentfault.com/a/1190000007612011 1. 下载安装与使用 Github: Download nvm-windows --- nvm-setup. ...

  2. Redhat/Ubuntu/Windows下安装Docker

    Redhat/Ubuntu/Windows下安装Docker 什么是Docker Docker是Docker.inc公司开源的一个基于LXC技术之上构建的Container容器引擎,基于Go语言并遵从 ...

  3. (转)windows下安装nodejs及框架express

    转自:http://jingyan.baidu.com/article/456c463b60fb380a583144a9.html windows下安装nodejs及框架express nodejs从 ...

  4. windows 下安装nodejs 要怎么设置环境变量

    windows 下安装nodejs 了,也安装了npm, 但是有时候切不能直接用request(‘ws’)这一类的东西.我觉得是确实环境变量或其他设置有问题,能否给个完整的设置方案: 要设置两个东西, ...

  5. RTL2832U+R820T电视棒windows下安装sdr# 以及搭建ADS-B使用VirtualRadar看飞机的教程

    本文中提到的软件随后我会打包给出下载地址.这篇文章是我根据网上的教程和自己的经验修改的详细版本,为了方便入门新手.先来说说RTL2832U+R820T在windows下安装sdr#的方法.首先科普下s ...

  6. Docker学习系列(一):windows下安装docker(转载)

    本文目录如下: windows按照docker的基本要求 具体安装步骤 开始使用 安装远程连接工具连接docker 安装中遇到的问题 Docker的更新 Docker中的jupyter windows ...

  7. windows下 安装docker

    一.Docker 1.什么是docker 对比 特性 容器 虚拟机 启动 秒级 分钟级 磁盘使用 一般为MB 一般为GB 性能 接近原生 弱于 系统支持量 单机支持上千个容器 一般几十个 2. 使用d ...

  8. 在windows下安装gulp —— 基于 Gulp 的前端集成解决方案(一)

    相关连接导航 在windows下安装gulp —— 基于 Gulp 的前端集成解决方案(一) 执行 $Gulp 时发生了什么 —— 基于 Gulp 的前端集成解决方案(二) 常用 Gulp 插件汇总 ...

  9. 【转】linux和windows下安装python集成开发环境及其python包

    本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...

随机推荐

  1. java的几个日志框架log4j、logback、common-logging

    开发工作中每个系统都需要记录日志,常见的日志工具有log4j(用的最多),slf4j,commons-loging,以及最近比较流行的logback 以前只是在项目中用log4j,更多的是参考下配置文 ...

  2. 25.mysql中的常用工具

    25.mysql中的常用工具25.1 mysql客户端连接工具跳转至mysql安装目录下的bincd C:\Program Files\MySQL\MySQL Server 5.7\binmac下cd ...

  3. "cni0" already has an IP address different from 10.244.2.1/24。 Error while adding to cni network: failed to allocate for range 0: no IP addresses available in range set: 10.244.2.1-10.244.2.254

    "cni0" already has an IP address different from 10.244.2.1/24. Error while adding to cni n ...

  4. 安装composer,以及通过composer安装laravel

    1安装composer http://docs.phpcomposer.com/00-intro.html#Installation-Windows中选择windows安装 下载并且运行 Compos ...

  5. iOS.UITableView.SectionIndex

    1. 为tableview中section建立索引来加速tableview的滚动. http://nshipster.com/uilocalizedindexedcollation/ 2. 获取汉字的 ...

  6. The valid characters are defined in RFC 7230 and RFC 3986问题

    这个问题困扰了我接近两天了!尼玛!网上搜了很多资料,有的给出了解决方案,然后下面的评论说按照楼主做的,没有成功,我一做也确实没有成功.设置了断点,一步一步跟进去看,还是没有头绪.不过有一点可以确认的是 ...

  7. BZOJ1123或洛谷3469 [POI2008]BLO-Blockade

    BZOJ原题链接 洛谷原题链接 若第\(i\)个点不是割点,那么只有这个点单独形成一个连通块,其它点依旧连通,则答案为\(2\times (n-1)\). 若第\(i\)个点是割点,那么去掉这个点相关 ...

  8. db2建立类似oracle的dblink

    db2 catalog tcpip node rmt_node remote 127.0.0.1 server 50000; --db2 catalog database rmt_db as rmt_ ...

  9. 虚函数与bind 实现设计模式的练习

    相同模式使用虚函数与bind function进行实现对比 #include "stdafx.h" #include <iostream> #include <f ...

  10. centos下安装配置jetty

    下载jdk-8u144-linux-x64.tar.gz # tar -zxvf jdk-8u144-linux-x64.tar.gz # mv jdk1.8.0_144 /usr/java/ # u ...