windows环境安装docker和nodejs

1.Windows Docker 安装

1.1 Docker溯源

  Docker的前身是名为dotCloud的小公司,主要提供的是基于 PaaS(Platform as a Service,平台及服务)平台为开发者或开发商提供技术服务,并提供的开发工具和技术框架。因为其为初创的公司,又生于IT行业,dotCloud受到了IBM,亚马逊,google等公司的挤压,发展举步维艰。于是,在2013年dotCloud 的创始人,年仅28岁的Solomon Hykes做了一个艰难的决定:将dotCloud的核心引擎开源!然而一旦这个基于 LXC(Linux Container)技术的核心管理引擎开源,dotCloud公司就相当于走上了一条"不归路"。可正是这个孤注一掷的举动,却带来了全球技术人员的热潮,众程序员惊呼:太方便了,太方便了。也正是这个决定,让所有的IT巨头也为之一颤。一个新的公司也随之出世,它就是:Docker。可以说,Docker是一夜成名的!!

1.2 Docker认识

1.2.1 镜像,容器,仓库

  首先,需要了解一下几个概念:镜像,容器,仓库

镜像(image):Docker 镜像就是一个只读的模板,镜像可以用来创建 Docker 容器。Docker 提供了一个很简单的机制来创建镜像或者更新现有的镜像,用户甚至可以直接从其他人那里下载一个已经做好的镜像来直接使用。镜像是一种文件结构。Dockerfile中的每条命令都会在文件系统中创建一个新的层次结构,文件系统在这些层次上构建起来,镜像就构建于这些联合的文件系统之上。Docker官方网站专门有一个页面来存储所有可用的镜像,网址是:index.docker.io

容器( Container:容器是从镜像创建的运行实例。它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。可以把容器看做是一个简易版的 Linux 环境,Docker 利用容器来运行应用。

仓库:仓库是集中存放镜像文件的场所,仓库注册服务器(Registry)上往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签(tag)。目前,最大的公开仓库是 Docker Hub,存放了数量庞大的镜像供用户下载。

1.2.2 Docker定义

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上。Docker是一个重新定义了程序开发测试、交付和部署过程的开放平台,Docker则可以称为构建一次,到处运行,这就是Docker提出的"Build once,Run anywhere"

  Docker仓库用来保存我们的images,当我们创建了自己的image之后我们就可以使用push命令将它上传到公有或者私有仓库,这样下次要在另外一台机器上使用这个image时候,只需要从仓库上pull下来就可以了。注意:Docker不是容器,而是管理容器的引擎!

Docker中文手册上解释说:Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、bare metal、OpenStack 集群和其他的基础应用平台。

  从这里我们可以看出,Docker并非是容器,而是管理容器的引擎。Docker是为应用打包、部署的平台,而非单纯的虚拟化技术。

1.3 Docker安装

1.3.1 win7、win8 系统

win7、win8 等需要利用 docker toolbox 来安装,国内可以使用阿里云的镜像来下载,下载地址:http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/

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

Docker CLI 客户端,用来运行docker引擎创建镜像和容器
Docker Machine. 可以让你在windows的命令行中运行docker引擎命令
Docker Compose. 用来运行docker-compose命令
Kitematic. 这是Docker的GUI版本
Docker QuickStart shell. 这是一个已经配置好Docker的命令行环境
Oracle VM Virtualbox. 虚拟机

下载完成之后直接点击安装,安装成功后,桌边会出现三个图标,入下图所示

windows环境安装docker和nodejs

点击 Docker QuickStart 图标来启动 Docker Toolbox 终端。

如果系统显示 User Account Control 窗口来运行 VirtualBox 修改你的电脑,选择 Yes。

windows环境安装docker和nodejs

$ 符号那你可以输入以下命令来执行。

$ docker run hello-world
Unable to find image 'hello-world:latest' locally
Pulling repository hello-world
91c95931e552: Download complete
a8219747be10: Download complete
Status: Downloaded newer image for hello-world:latest
Hello from Docker.
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
1. The Docker Engine CLI client contacted the Docker Engine daemon.
2. The Docker Engine daemon pulled the "hello-world" image from the Docker Hub.
(Assuming it was not already locally available.)
3. The Docker Engine daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker Engine daemon streamed that output to the Docker Engine CLI client, which sent it
to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash

For more examples and ideas, visit:
https://docs.docker.com/userguide/

1.3.2 Win10 系统

现在 Docker 有专门的 Win10 专业版系统的安装包,需要开启Hyper-V。

1.3.2.1 开启 Hyper-V

windows环境安装docker和nodejs

程序和功能

windows环境安装docker和nodejs

启用或关闭Windows功能

windows环境安装docker和nodejs

选中Hyper-V

windows环境安装docker和nodejs

1.3.2.2 安装 Toolbox

最新版 Toolbox 下载地址: https://www.docker.com/get-docker

点击 Get Docker Community Edition,并下载 Windows 的版本:

windows环境安装docker和nodejs

windows环境安装docker和nodejs

1.3.2.3 运行安装文件

双击下载的 Docker for Windows Installe 安装文件,一路 Next,点击 Finish 完成安装。

windows环境安装docker和nodejs

windows环境安装docker和nodejs

安装完成后,Docker 会自动启动。通知栏上会出现个小鲸鱼的图标windows环境安装docker和nodejs,这表示 Docker 正在运行。

桌边也会出现三个图标,入下图所示:

我们可以在命令行执行 docker version 来查看版本号,docker run hello-world 来载入测试镜像测试。

如果没启动,你可以在 Windows 搜索 Docker 来启动:

windows环境安装docker和nodejs

启动后,也可以在通知栏上看到小鲸鱼图标:

windows环境安装docker和nodejs

1.3.2.4 镜像加速

鉴于国内网络问题,后续拉取 Docker 镜像十分缓慢,我们可以需要配置加速器来解决,我使用的是网易的镜像地址:http://hub-mirror.c.163.com

新版的 Docker 使用 /etc/docker/daemon.json(Linux) 或者 %programdata%\docker\config\daemon.json(Windows) 来配置 Daemon。

请在该配置文件中加入(没有该文件的话,请先建一个):

{ "registry-mirrors": ["http://hub-mirror.c.163.com"] }

 

2.安装nodejs

2.1 工具官网

Node.js : http://nodejs.cn/

淘宝NPM: https://npm.taobao.org/

2.2 安装步骤

2.2.1 安装node.js

2.2.1.1 前往node.js官网下载并安装工具,这里安装路径选到D盘,D:\Program Files\nodejs

 安装完毕在命令行输入以下命令测试是否安装成功,正确会出现版本号

 

1

npm -v

 

2.2.1.2 改变原有的环境变量

  (1)我们要先配置npm的全局模块的存放路径以及cache的路径,例如我希望将以上两个文件夹放在NodeJS的主目录下,便在NodeJs下建立"node_global"及"node_cache"两个文件夹,输入以下命令改变npm配置

 

1

2

npm config set prefix "D:\Program Files\nodejs\node_global"

npm config set cache "D:\Program Files\nodejs\node_cache"

 

  (2)在系统环境变量添加系统变量NODE_PATH,输入路径D:\Program Files\nodejs\node_global\node_modules,此后所安装的模块都会安装到改路径下  

  (3)在命令行输入以下命令试着安装express(注:“-g”这个参数意思是装到global目录下,也就是上面说设置的“D:\Program Files\nodejs\node_global”里面。)

 

1

npm install express -g

 

 安装完毕后可以看到.\node_global\node_modules\express 已经有内容

  (4)在命令行输入node进入编辑模式,输入以下代码测试是否能正常加载模块:

 

1

require('express')

 

 假设成功,可以看到有输出。假设出错,检查NODE_PATH的路径。

2.2.2 安装淘宝npm(cnpm)

 2.2.2.1 安装cnpm

   (1)输入以下命令

 

1

npm install -g cnpm --registry=https://registry.npm.taobao.org

 

   (2)输入cnpm -v输入是否正常,这里肯定会出错。

 

1

cnpm -v

 

   (3)添加系统变量path的内容

  因为cnpm会被安装到D:\Program Files\nodejs\node_global下,而系统变量path并未包含该路径。在系统变量path下添加该路径即可正常使用cnpm。

 

3. 配置docker

打开visualbox里面docker的镜像,然后配置NAT网卡的转发规则。

windows环境安装docker和nodejs

然后重启电脑

 

4.下载工程

git clone https://[email protected]/automation/deploy-environments.git

git checkout develop

cd deploy-environments/environments/infrastructure/

(以下命令请在docker模拟命令行中执行)

./connect.sh mysql -z 3320

./connect.sh mongo -z 3360

 

git clone https://[email protected]/innovator/lvbanNotifyMock.git

npm install

npm run dev