如何在 Windows 操作系统中运行 Docker 客户端

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在 Windows 操作系统中运行 Docker 客户端相关的知识,希望对你有一定的参考价值。

下面是安装 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 引擎都至关重要。
参考技术A Docker引擎使用Linux特有的内核特性,因此不能通过Windows内核运行,所以,(在Windows上)Docker引擎创建了一个小的虚拟系统运行Linux并利用它的资源和内核。这样,WindowsDocker客户端就可以用这个虚拟的Docker引擎来构建、运行以及管理Docker容器。有个叫Boot2Docker的团队开发了一个同名的应用程序,它创建了一个虚拟机来运行基于TinyCoreLinux特制的小型Linux,来在Windows上运行Docker容器。它完全运行在内存中,需要大约27M内存并能在5秒(因人而异)内启动。因此,在用于Windows的Docker引擎被开发出来之前,我们在Windows机器里只能运行Linux容器。下面是安装Docker客户端并在上面运行容器的简单步骤。1.下载Boot2Docker在我们开始安装之前,我们需要Boot2Docker的可执行文件。可以从它的Github下载最新版本的Boot2Docker。在这篇指南中,我们从网站中下载版本v1.6.1。我们从那网页中用我们喜欢的浏览器或者下载管理器下载了名为docker-install.exe的文件。2.安装Boot2Docker现在我们运行安装文件,它会安装WindowDocker客户端、用于Windows的Git(MSYS-git)、VirtualBox、Boot2DockerLinuxISO以及Boot2Docker管理工具,这些对于开箱即用地运行全功能的Docker引擎都至关重要。3.运行Boot2Docker安装完成必要的组件之后,我们从桌面上的“Boot2DockerStart”快捷方式启动Boot2Docker。它会要求你输入以后用于验证的SSH密钥。然后会启动一个配置好的用于管理在虚拟机中运行的Docker的unixshell。为了检查是否正确配置,运行下面的dockerversion命令。dockerversion4.运行Docker由于Boot2DockerStart自动启动了一个已经正确设置好环境变量的shell,我们可以马上开始使用Docker。请注意,如果我们要将Boot2Docker作为一个远程Docker守护进程,那么不要在docker命令之前加sudo。现在,让我们来试试hello-world例子镜像,它会下载hello-world镜像,运行并输出"HellofromDocker"信息。$dockerrunhello-world5.使用命令提示符(CMD)运行Docker现在,如果你想开始用命令提示符使用Docker,你可以打开命令提示符(CMD.exe)。由于Boot2Docker要求ssh.exe在PATH中,我们需要在命令提示符中输入以下命令使得%PATH%环境变量中包括Git安装目录下的bin文件夹。setPATH=%PATH%;"c:\ProgramFiles(x86)\Git\bin"运行上面的命令之后,我们可以在命令提示符中运行boot2dockerstart启动Boot2Docker虚拟机。boot2dockerstart注意:如果你看到machinedoesnoexist的错误信息,就运行boot2dockerinit命令。然后复制上图中控制台标出命令到cmd.exe中为控制台窗口设置环境变量,然后我们就可以像平常一样运行docker容器了。6.使用PowerShell运行Docker为了能在PowerShell中运行Docker,我们需要启动一个PowerShell窗口并添加ssh.exe到PATH变量。$Env:Path="$Env:Path;c:\ProgramFiles(x86)\Git\bin"运行完上面的命令,我们还需要运行boot2dockerstart这会打印用于设置环境变量连接到虚拟机内部运行的Docker的PowerShell命令。我们只需要在PowerShell中运行这些命令就可以和平常一样运行docker容器。7.用PUTTY登录Boot2Docker会在%USERPROFILE%.ssh目录生成和使用用于登录的公共和私有密钥,我们也需要使用这个文件夹中的私有密钥。私有密钥需要转换为PuTTY的格式。我们可以通过puttygen.exe实现。我们需要打开puttygen.exe并从%USERPROFILE%.ssh\id_boot2docker中导入("File"->"Load"菜单)私钥,然后点击"SavePrivateKey"。然后用保存的文件通过PuTTY用docker@127.0.0.1:2022登录。8.Boot2Docker选项Boot2Docker管理工具提供了一些命令,如下所示。$boot2dockerUsage:boot2docker.exe[]help|init|up|ssh|save|down|poweroff|reset|restart|config|status|info|ip|shellinit|delete|download|upgrade|version[]总结通过DockerWindows客户端使用Docker很有趣。Boot2Docker管理工具是一个能使任何Docker容器能像在Linux主机上平滑运行的很棒的应用程序。如果你更仔细的话,你会发现boot2docker默认用户的用户名是docker,密码是tcuser。最新版本的boot2docker设置了一个host-only的网络适配器提供访问容器的端口。一般来说是192.168.59.103,但可以通过VirtualBox的DHCP实现改变。

docke存储

 

1、Docker提供三种不同的方式将数据从宿主机挂载到容器中:volumes,bind mounts和tmpfs。
volumes:Docker管理宿主机文件系统的一部分(/var/lib/docker/volumes)。
bind mounts:可以存储在宿主机系统的任意位置。
tmpfs:挂载存储在宿主机系统的内存中,而不会写入宿主机的文件系统。

 

2、管理卷volume

 

 用卷创建一个容器

 

等同于 

# docker run -d -it --name=nginx-test -v nginx-vol:/usr/share/nginx/html nginx

清理:
# docker container stop nginx-test
# docker container rm nginx-test
# docker volume rm nginx-vol

注意:
如果没有指定卷,自动创建。
建议使用—mount,更通用。

 

3、bind mounts

 

 等同于

# docker run -d -it --name=nginx-test -v /app/wwwroot:/usr/share/nginx/html nginx

验证绑定:
# docker inspect nginx-test
清理:
# docker container stop nginx-test2
# docker container rm nginx-test2

注意:
如果源文件/目录没有存在,不会自动创建,会抛出一个错误。
如果挂载目标在容器中非空目录,则该目录现有内容将被隐藏。

以上是关于如何在 Windows 操作系统中运行 Docker 客户端的主要内容,如果未能解决你的问题,请参考以下文章

项目经验Docker安装

docke存储

Ubuntu16.04运行docke容器

JVM XMX设置多大比较好,Docke容器里该怎么设置JVM呢@无界编程

Docke及Docker Compose于微服务的实践

如何在Windows系统中运行Python文件