在Windows系统上安装Docker的教程

大家好,今天我们来了解一下 Windows 操作系统中的 Docker 以及在其中安装 Docker Windows 客户端的知识。Docker 引擎使用 Linux 特有的内核特性,因此不能通过 Windows 内核运行,所以,(在 Windows 上)Docker 引擎创建了一个小的虚拟系统运行 Linux 并利用它的资源和内核。这样,Windows Docker 客户端就可以用这个虚拟的 Docker 引擎来构建、运行以及管理 Docker 容器。有个叫 Boot2Docker 的团队开发了一个同名的应用程序,它创建了一个虚拟机来运行基于Tiny Core Linux特制的小型 Linux,来在 Windows 上运行 Docker 容器。它完全运行在内存中,需要大约 27M 内存并能在 5秒 (因人而异) 内启动。因此,在用于 Windows 的 Docker 引擎被开发出来之前,我们在 Windows 机器里只能运行 Linux 容器。

下面是安装 Docker 客户端并在上面运行容器的简单步骤。

1. 下载 Boot2Docker

在我们开始安装之前,我们需要 Boot2Docker 的可执行文件。可以从 它的 Github 下载最新版本的 Boot2Docker。在这篇指南中,我们从网站中下载版本 v1.6.1。我们从那网页中用我们喜欢的浏览器或者下载管理器下载了名为 docker-install.exe 的文件。



2. 安装 Boot2Docker

现在我们运行安装文件,它会安装 Window Docker 客户端、用于 Windows 的 Git(MSYS-git)、VirtualBox、Boot2Docker Linux ISO 以及 Boot2Docker 管理工具,这些对于开箱即用地运行全功能的 Docker 引擎都至关重要。



3. 运行 Boot2Docker



安装完成必要的组件之后,我们从桌面上的“Boot2Docker Start”快捷方式启动 Boot2Docker。它会要求你输入以后用于验证的 SSH 密钥。然后会启动一个配置好的用于管理在虚拟机中运行的 Docker 的 unix shell。



为了检查是否正确配置,运行下面的 docker version 命令。

代码如下:

docker version



4. 运行 Docker

由于 Boot2Docker Start 自动启动了一个已经正确设置好环境变量的 shell,我们可以马上开始使用 Docker。请注意,如果我们要将 Boot2Docker 作为一个远程 Docker 守护进程,那么不要在 docker 命令之前加 sudo。

现在,让我们来试试 hello-world 例子镜像,它会下载 hello-world 镜像,运行并输出 "Hello from Docker" 信息。

代码如下:

$ docker run hello-world



5. 使用命令提示符(CMD) 运行 Docker

现在,如果你想开始用命令提示符使用 Docker,你可以打开命令提示符(CMD.exe)。由于 Boot2Docker 要求 ssh.exe 在 PATH 中,我们需要在命令提示符中输入以下命令使得 %PATH% 环境变量中包括 Git 安装目录下的 bin 文件夹。

代码如下:

set PATH=%PATH%;"c:/Program Files (x86)/Git/bin"



运行上面的命令之后,我们可以在命令提示符中运行 boot2docker start 启动 Boot2Docker 虚拟机。

代码如下:

boot2docker start



注意: 如果你看到 machine does no exist 的错误信息,就运行 boot2docker init 命令。

然后复制上图中控制台标出命令到 cmd.exe 中为控制台窗口设置环境变量,然后我们就可以像平常一样运行 docker 容器了。

6. 使用 PowerShell 运行 Docker

为了能在 PowerShell 中运行 Docker,我们需要启动一个 PowerShell 窗口并添加 ssh.exe 到 PATH 变量。

代码如下:

$Env:Path = "${Env:Path};c:/Program Files (x86)/Git/bin"

运行完上面的命令,我们还需要运行

代码如下:

boot2docker start



这会打印用于设置环境变量连接到虚拟机内部运行的 Docker 的 PowerShell 命令。我们只需要在 PowerShell 中运行这些命令就可以和平常一样运行 docker 容器。

7. 用 PUTTY 登录

Boot2Docker 会在%USERPROFILE%.ssh 目录生成和使用用于登录的公共和私有密钥,我们也需要使用这个文件夹中的私有密钥。私有密钥需要转换为 PuTTY 的格式。我们可以通过 puttygen.exe 实现。

我们需要打开 puttygen.exe 并从 %USERPROFILE%.ssh/id_boot2docker 中导入("File"->"Load" 菜单)私钥,然后点击 "Save Private Key"。然后用保存的文件通过 PuTTY 用 docker@127.0.0.1:2022 登录。

8. Boot2Docker 选项

Boot2Docker 管理工具提供了一些命令,如下所示。

代码如下:

$ boot2docker

Usage: boot2docker.exe [] {help|init|up|ssh|save|down|poweroff|reset|restart|config|status|info|ip|shellinit|delete|download|upgrade|version} []

总结

通过 Docker Windows 客户端使用 Docker 很有趣。Boot2Docker 管理工具是一个能使任何 Docker 容器能像在 Linux 主机上平滑运行的很棒的应用程序。如果你更仔细的话,你会发现 boot2docker 默认用户的用户名是 docker,密码是 tcuser。最新版本的 boot2docker 设置了一个 host-only 的网络适配器提供访问容器的端口。一般来说是 192.168.59.103,但可以通过 VirtualBox 的 DHCP 实现改变。

如果你有任何问题、建议、反馈,请在下面的评论框中写下来然后我们可以改进或者更新我们的内容。非常感谢!Enjoy:-)

(0)

相关推荐

  • 如何在Windows系统上安装SQLServer?

    数据库对于编程人员是十分重要的,而SQL Server是我们常用的一款数据库软件,我们需要在Windows系统上安装SQL Server服务,那么究竟应该如何操作呢? 操作方法 01 首先到网上下载S ...

  • 在Linux系统上安装Wine的教程

    Wine,一个在Linux平台上非常受欢迎并且强大的开源应用,有了它,我们可以在Linux平台上完美运行Windows应用与游戏. WineHQ团队,近期宣布了一个新的开发版本Wine1.7.29.这 ...

  • 在CentOS系统中安装Docker的教程

    最近折腾centos6,需要在其上配置docker,而以前都是在ubuntu上玩的,网上的文章没有找到一个让我直接能配成功的,多少都会有些坑,综合了几篇文章,折腾了老久,终于成功了. 我保证你按我下面 ...

  • 怎么在CentOS系统上安装Docker

    Docker 是一个开源工具,它可以让创建和管理 Linux 容器变得简单.容器就像是轻量级的虚拟机,并且可以以毫秒级的速度来启动或停止.Docker 帮助系统管理员和程序员在容器中开发应用程序,并且 ...

  • 如何在Windows系统上安装微信

    微信是腾讯公司推出的一个为智能手机提供即时通讯服务的免费应用程序。 说的很清楚了,是智能手机上运行的程序,需要智能手机的支持,如果手机不是智能的,那就没有办法使用了. 一般情况下,手机上的软件是不可以 ...

  • 如何在windows系统上安装Oracle数据库

    操作方法 01 软件准备database和client(在参考文献里有下载链接) 02 打开database安装包,运行安装程序Setup.exe,系统将启动Oracle Universal Inst ...

  • 在Win10系统上安装和卸载远程服务器管理工具的方法

    今天,我们将要学习的是与远程服务器管理工具相关的教程,比如说:在win10系统上安装服务器管理工具.同时,为了方便大家进行远程服务器管理工具角色和功能的管理,小编也会为大家奉上远程服务器管理工具的关闭 ...

  • 如何在Windows系统上用抓包软件Wireshark截获iPhone等网络通讯数据

    不管是iPhone的iOS还是Android系统上开发的应用App基本上都会需要使用网络通讯来传输数据。开发者有的时候可能会需要通过抓包的方式来了解应用具体在传输些什么数据,以及数据是否正确。今天给大 ...

  • win7系统iis安装配置图文教程

    win7系统iis安装配置图文教程: 一、进入Win7的控制面板,打开程序功能,选择打开或关闭Windows功能 。 二、在安装Windows功能的选项菜单,把interlnet信息服务的所有组件全部 ...