放在三年前,你不认识Docker情有可原,但如果现在你还这么说,不好意思,只能说明你OUT了,行动起来吧骚年,很可能你们公司或者你即将要去的公司,或者你想去的公司很可能就会引入Docker,或者已经引入了Docker。

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是一夜成名的!!

2.Docker认识

2.1镜像,容器,仓库

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

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

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

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

2.2Docker定义

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

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

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

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

  好了本文前奏只为大家对Docker有一个初步的认识,想要了解更多的相关知识,请自行搜索,下边给出一些链接,仅供参考:

史上最全Docker资料集锦千万别说你不了解Docker!Docker官网  ,docker中文社区

3.Docker安装

3.1下载和安装Docker Toolbox

  从Docker官网可以下到Docker Toolbox:https://www.docker.com/products/docker-toolbox,选择windows版本下载。

  双击下载好的程序:

注意:安装路径千万不要有中文!!!!

请注意下面一点,对最后一项打上钩:

然后,点击Install!

3.2Docker配置

安装完成后,在桌面上会出现两个图标:一个是命令行形式Docker终端,一个是图形界面的Docker操作工具。

其安装路径下文件如下:

你可通过CMD查看docker是否安装成功,输入docker-machine,出现版本等信息,安装能够运行,还会给出一些选项,包括machine安装路劲等: -s, --storage-path "C:\Users\wcc335836929\.docker\machine"    Configures storage path [$MACHINE_STORAGE_PATH]

在使用Docker前,要先创建docker machine,它其实是台虚拟机,不过在使用它的时候,你可能根本察觉不出来它是虚拟的。默认情况下,docker machine的所有文件都会保存在用户的根目录下,一般是在C盘,如果就用默认的位置,C盘的空间会越来越小,所以最好还是换个地方。 点击Git Bash,在起开所有docker应用之前需要先使用这个才能更改成功,修改默认的default machine的路径,不然,默认安装在C盘,会使C盘空间越来越小。

然后,输入 notepad .bash_profile 创建和打开.bash_profile 配置文件

然后,在空白处输入(因为我想将以后的镜像都安装到H盘,此处可以修改你喜欢的盘符):

export MACHINE_STORAGE_PATH='H:\docker'

然后,关闭后,在H盘创建名为docker的文件夹,在其下创建名为cache的文件夹,将安装文件下的boot2docker.iso拷贝到该文件夹:

在Git Bash中输入更改路径命令,此处使用阿里云的加速器,因为在使用docker的时候,会需要从docker的网站下载镜像文件,下载速度可能会很慢。获得阿里云加速,需要登录阿里云开发者平台,然后点击右侧的管理中心(当然你得要有一个账户):

阿里云开发者平台:https://dev.aliyun.com/search.html

然后点击加速,Windows

复制红色方框中的代码,然后修改为如下(根据自己盘符修改):

docker-machine -s "H:\docker" create --engine-registry-mirror=https://vf29u5xi.mirror.aliyuncs.com -d virtualbox default

现在就可以在Git Bash中运行了:

虚拟机中出现如下界面:

  此时可以点击Docker Quickstart Terminal:

同时,Docker Quickstart Terminal也已经登录进去:

也可以在Git Bash中运行:

docker-machine ls 

这里面就是一个linux风格的Docker环境,提示的IP:192.168.99.100就是Docker虚拟机的IP了。

这台docker machine创建后就启动了,如果下次我们再打开电脑,想要启动docker machine,可以打开Docker Quickstart Terminal或者Git Bash,然后执行下面的命令:

docker-machine start

来启动docker machine。

3.3利用ssh软件登录

SSH登录虚拟机(此处使用的XShell软件,自行百度下载,当然还有其他的ssh软件):

docker machine的IP是192.168.99.100,用SSH工具登录它,用户名是docker,密码是tcuser

参考:

http://www.xueqing.tv/cms/article/247

转载请注明链接:

http://www.cnblogs.com/homewch/p/5688448.html

Windows下安装Docker的更多相关文章

  1. Redhat/Ubuntu/Windows下安装Docker

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

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

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

  3. windows下 安装docker

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

  4. Docker学习のWindows下安装Docker

    一.docker最初只支持linux的,因此在windows下运行需要虚拟机. 利用VirtualBox建立linux虚拟机,在linux虚拟机中安装docker服务端和客户端 利用Windows的H ...

  5. Docker的学习(一)Windows下安装docker环境以及基础的配置

    Docker是什么我这里就不多做介绍了,相信大家都清楚,网上有很多介绍的文章所以作为菜鸟的我就不用我的眼光以及理解来为大家介绍了,还是那句话,这篇文章主要是用作记录学习过程,希望不会误导新人,也希望各 ...

  6. (转)Windows下安装Docker, GitBash环境配置

    转:https://blog.csdn.net/chengly0129/article/details/68944269 官网介绍: https://docs.docker.com/toolbox/t ...

  7. windows 下安装 docker

    1. 使用阿里云的镜像进行安装: http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/ 2. 安装完成后点击图标 “Dock ...

  8. Docker windows下安装并搭建Nodejs的webapp

    一.关于Docker 什么是Docker?Docker 采用go语言编写,是一个开源的应用容器引擎.让开发者可以快速打包他们的应用以及依赖包到一个封装的可移植的容器Image中,然后发布到任何流行的机 ...

  9. 【Howie玩docker】-windows下玩docker

    Windows下安装toolbox一直没成功,于是投机取巧,用虚拟机手工打造玩docker的方法. 步骤: 安装虚拟机,安装centos 在win下建立共享文件夹,假如是 f:/share 在cent ...

随机推荐

  1. Jams倒酒

    Jams是一家酒吧的老板,他的酒吧提供2种体积的啤酒,a ml 和 b ml,分别使用容积为a ml 和 b ml的酒杯来装载. 酒吧的生意并不好.Jams发现酒鬼们都很穷,不像他那么土豪.有时,他们 ...

  2. UVa1593_Allgnment_Of_Code

    /** start: integer; // begins hear stop: integer; // ends here s: string; c: char; // temp **/ //测试数 ...

  3. Qt中如何添加.qrc文件

    You need a resource file (.qrc) within which you embed the input text file. The input file can be an ...

  4. 关于Mesos和Kubernetes的区别

    这个主题应该和服务发现注册一样,进入视野...

  5. poj 3264:Balanced Lineup(线段树,经典题)

    Balanced Lineup Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 32820   Accepted: 15447 ...

  6. postgresql设置默认的search_path

    -- Use this to show the current search_path -- Should return: "$user",public SHOW search_p ...

  7. WPF程序最小化到任务通知栏

    我们通常使用的桌面软件,都可以最小化到任务通知栏,并且可以从任务通知栏再打开当前软件,或者通过软件的快捷方式从任务通知栏呼出. 我们可以通过下面的方式把WPF程序最小化到任务栏.由于WPF并没有实现N ...

  8. Android使用JNI实现Java与C之间传递数据(转)

    介绍Java如何将数据传递给C和C回调Java的方法.  java传递数据给C,在C代码中进行处理数据,处理完数据后返回给java.C的回调是Java传递数据给C,C需要用到Java中的某个方法,就需 ...

  9. 通过SharePoint Designer对SharePoint 2010的Master Page进行自定制

    1:需要在对应的SiteCollection 和 Site 中开启Publishing的服务 2:在Designer中创建自己的Master Page,进行对原始v4.master代码进行复制,和修改 ...

  10. 学习linux内核时常碰到的汇编指令(1)

     转载:http://blog.sina.com.cn/s/blog_4be6adec01007xvg.html 80X86 汇编指令符号大全 +.-.*./∶算术运算符. &∶宏处理操作符. ...