admin 管理员组

文章数量: 887021

Windows 7 64位系统安装Docker实践 2021.6.21

  • 1、Dokcer简介
    • 1.1 Docker提供的功能
    • 1.2 Docker的架构
    • 1.3 Docker的用途
  • 2、Docker在Windows 7下安装
    • 2.1 查看Dockers安装的系统硬件要求(与自身系统对比)
      • 2.1.1 电脑系统环境(Win7 64位操作系统+英特尔cpu)
      • 2.1.2 查询电脑是否支持硬件CPU虚拟化
    • 2.2 下载64位Win7系统下的Docker Toolbox安装包
    • 2.3 Docker Toolbox安装
  • 3 启动Docker输入命令测试
    • 3.1 Docker CLI命令学习
    • 3.2 启动Docker Quickstart Terminal安装ubuntu
    • 3.3 启动Kitematic(Alpha)
    • 3.4 启动Oracle VM VirtualBox

1、Dokcer简介

        Docker是一个可以开发、运送和运行应用程序的开放平台。Docker能够将应用程序从基础架构中分离出来,使用Docke可以像管理应用程序一样管理基础架构。利用Docker快速运输、测试和部署代码能显著减少编写代码和在生产中运行代码之间的延迟。
        Docker是用Go编程语言编写的,它利用了Linux内核的几个特性来提供其功能。Docker使用一种称为命名空间namespace的技术来提供称为容器的独立工作空间。当运行一个容器时,Docker就会为该容器创建一组命名空间。容器的每个方面都在一个单独的命名空间中运行,并且它的访问仅限于该命名空间。

1.1 Docker提供的功能

        Docker提供了在称为容器的松散隔离环境中打包和运行应用程序的能力。隔离和安全性允许用户在给定主机上同时运行多个容器。由于容器是轻量级的,包含运行应用程序所需的一切,因此它不需要依赖主机上当前安装的内容。用户可以在工作时轻松共享容器,并确保与自己共享的每个人都获得以相同方式工作的相同容器。
        另外,Docker也提供了管理容器生命周期的工具和平台:

  1. 使用容器开发应用程序及其支持组件。
  2. 容器成为分发和测试应用程序的单元。
  3. 应用程序可以被部署到各种生产环境(本地数据中心、云提供商还是两者的混合)中作为一个容器或一个可协调的服务。

1.2 Docker的架构


        Docker使用客户端-服务器体系架构(Client/Server)。Docker client 与Docker daemon 通信,后者负责构建、运行和分发Docker容器。Docker client 和 daemon 可以在同一系统上运行,也可以将Docker client 连接到远程Docker daemon。Docker client 和 daemon 使用RESTAPI通过UNIX套接字或网络接口进行通信。另一个Docker客户端是Docker Compose,它允许您处理由一组容器组成的应用程序。
        Docker daemon(Dockerd)侦听Docker API请求并管理Docker对象,如images映像、containers容器、networks网络和volumns卷。daemon之间可以通信以管理Docker服务。

  • images映像
    • 映像是一个只读模板,其中包含创建Docker容器的说明。通常,一个映像基于另一个映像,并进行了一些额外的定制。用户可以创建自己的映像,也可以只使用其他人创建并在注册表中发布的映像。要构建自己的映像,可以使用简单的语法创建Dockerfile,用于定义创建映像和运行映像所需的步骤。Dockerfile中的每条指令都会在映像中创建一个图层。更改Dockerfile并重建映像时,仅重建已更改的图层。与其他虚拟化技术相比,这也是使映像如此轻量级、小型和快速的部分原因。
  • containers容器
    • 容器是映像的可运行实例。用户可以使用Docker API或CLI创建、启动、停止、移动或删除容器。容器可以被连接到一个或多个网络,将存储连接到容器,甚至可以基于其当前状态创建新映像。用户可以控制容器的网络、存储或其他底层子系统与其他容器或主机的隔离程度。容器由其映像以及创建或启动时提供给它的任何配置选项定义。当容器被移除时,对其状态的任何未存储在持久存储中的更改都将消失。

        Docker client(Docker) 是许多Docker用户与Docker交互的主要方式。当使用诸如docker run之类的命令时,客户机将这些命令发送给dockerd,由dockerd执行这些使用Docker API的Docker命令,同时Docker client 可以与多个 daemon 通信。
        Docker registry 存储Docker 映像。Docker Hub是任何人都可以使用的公共注册表,Docker默认配置在Docker Hub上查找映像。用户甚至可以运行自己的私人注册映像。

  • 使用docker pulldocker run命令时,将从配置的注册表中提取所需的映像。使用docker push命令时,映像将被推送到配置的注册表中。

1.3 Docker的用途


  • 1、快速、一致地交付应用程序
    • Docker通过允许开发人员在标准化的环境中使用本地容器(这些容器为您提供应用程序和服务)来简化开发生命周期。容器非常适合于连续集成和连续交付(CI/CD)工作流。考虑以下示例场景:
      • 开发人员在本地编写代码,并使用Docker容器与同事共享他们的工作。
      • 他们使用Docker将应用程序推入测试环境,并执行自动和手动测试。
      • 当开发人员发现bug时,他们可以在开发环境中修复它们,并将它们重新部署到测试环境中进行测试和验证。
      • 测试完成后,向客户提供修复就如同将更新的映像推送到生产环境一样简单。
  • 2、快速部署和扩展
    • Docker作为基于容器的平台允许高度可移植的工作负载,它可以在开发人员的本地笔记本电脑、数据中心的物理或虚拟机、云提供商或多种环境中运行。Docker的可移植性和轻量级特性还使得动态管理工作负载、根据业务需求以近乎实时的方式扩展或删除应用程序和服务变得十分简单。
  • 3、在同一硬件上运行更多工作负载
    • Docker轻量且易于部署。它为基于hypervisor的虚拟机提供了一个可行的、经济高效的替代方案,从而能够利用更多的计算能力来实现业务目标。Docker非常适合高密度环境和中小型部署,需要用更少的资源做更多的工作。

2、Docker在Windows 7下安装

        Docker 依赖于已存在并运行的 Linux 内核环境,实质是在已经运行的 Linux 下制造了一个隔离的文件环境,所以如果其他系统想部署 Docker 就必须安装一个虚拟 Linux 环境。而在 Windows 上部署 Docker 的方法都是先安装一个虚拟机,并在安装 Linux 系统的的虚拟机中运行 Docker

        Docker Desktop for Windows作为最简单的安装方式,只能在64位的Windows 10操作系统且带有WSL-2上才能支持安装。


        Docker官网对于Win7、Win8操作系统只支持Docker Toolbox方式来安装,若利用 docker toolbox 在Win7系统上安装Docker,国内可以使用阿里云的镜像下载docker-toolbox

2.1 查看Dockers安装的系统硬件要求(与自身系统对比)

        进入Install Docker Desktop on Windows页面,可以看到要在Windows系统上安装Docker的系统要求为:WSL 2、Hyper-V、64位处理器、4GB+运行内存、支持虚拟化Virsualization


        下图是WIn10系统中可在任务管理器中查看CPU的虚拟化功能是否启用。

2.1.1 电脑系统环境(Win7 64位操作系统+英特尔cpu)

2.1.2 查询电脑是否支持硬件CPU虚拟化

        由于Docker需要CPU支持虚拟化功能,首先可以重启电脑进入bios中查看CPU的配置,观察Intel Virtualization Technology 是否为Enabled,如果有要保存为Enabled支持。

        使用securable.exe来检测一下SecurAble下载,发现图标都是绿色,说明电脑支持CPU虚拟化,可以在电脑上安装Docker Toolbox。



        点击窗口中的三项可以分别查看64-Bit Processing AvailableHardware DEP AvailableHardware Virtualizaiton的具体信介绍。

64-Bit Processing Available

This processor does offer 64-bit modes of operation. This means that this system is able to run the significantly more secure 64-bit versions of Microsoft's Windows XP and Vista operating systems.

The biggest challenge for 64-bit Windows systems is the fact that existing 32-bit device drivers cannot be used by the 64-bit operating system kernel. So if you do plan to try switching to 64-bit Windows, you should be sure to have a means for reverting to 32-bit operation if your system's hardware turns out to be incompatible with 64-bit operation. Many people have reverted to 32-bit operation after bravely giving 64-bits a try for a short time.
Hardware DEP Available

This processor does support hardware-based data execution prevention (DEP).

When hardware DEP support is teamed up with a properly configured operating system (and that part is crucial), computer security mistakes involving the deliberate overrunning of communications buffers can be automatically detected and prevented throughout the entire computer system. This makes data execution prevention, when available and active, the single most promising improvement for PC security ever. Really.

It is very important to note, however, that hardware support for DEP is only one of several enabling requirements that must be met before any benefit can be obtained. GRC will be following up the release of SecurAble with another powerful tool, DEPuty, that will help to properly configure, test and verify the operation of your system's critical DEP subsystem.
Hardware Virtualization

This processor does offer advanced hardware support for virtualization. However, while running under a 64-bit version of Windows this program cannot execute its 32-bit kernel code to determine whether Intel's VMX virtual machine extensions are being locked on, locked off, or neither. Since there's a chance that your system's BIOS may be deliberately disabling support for hardware virtualization (some do) you should re-run this program, if possible,  with administrative privileges under a 32-bit version of NT, XP, or Vista. That will allow SecurAble to run a bit of kernel-mode code in order to determine exactly what's going on. (Note that you can also poke around in your system's BIOS to see whether you're able to find any references to "hardware virtualization" or "VMX", etc.

2.2 下载64位Win7系统下的Docker Toolbox安装包

        使用阿里云镜像下载Docker Toolbox,下载完成后如下图所示Docker-Toolbox-1.13.1.exe,大小为200M左右。

2.3 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 - 虚拟机。

        安装步骤比较简单,双击运行DockerToolbox-1.13.1.exe,点击Next

        选择安装目录为D:\Docker Toolbox后点击Next

        进入选择组件窗口,默认全选即可后一直点击Next进行安装








        安装结束后可以在左下角WIndows程序列表中看到Docker目录和Git目录(注:Docker默认会安装Git),

        同时桌面上会出现三个图标,如下图所示:

3 启动Docker输入命令测试

3.1 Docker CLI命令学习

        通过Docker CLI命令参考文档和Docker 中文手册可以了解Docker命令的一些用法,服务于自己的需求,而常用的测试命令有docker helpdocker rundocker version等。

3.2 启动Docker Quickstart Terminal安装ubuntu

        为了启动Docker Quickstart Terminal,需要找到Git目录下的bash.exe的路径D:\ServerTool\Git\bin\bash.exe,因为Docker依赖Git的bash,然后在桌面Docker Quickstart Terminal图标上右键选择属性,在属性窗口中找到快捷方式一栏下的目标,在右侧文本框中输入D:\ServerTool\Git\bin\bash.exe --login -i "D:\Docker Toolbox\start.sh"后,现在可以启动Docker Quickstart Terminal,当然也可以在文件目录D:\Docker Toolbox下右键利用Git Bash启动start.sh,这两个的效果是一样的。


        在启动Docker Quickstart Terminal或Git启动start.sh的过程中可能会遇到boot2docker.iso下载失败的问题,需要到Github手动下载boot2docker.iso后放到C:\Users\Administrator\.docker\machine\machines\default文件夹下即可,然后再次启动Docker Quickstart Terminal即可成功



        输入docker run hello-world后结果如下图所示:

        输入docker version后结果如下图所示:


        之后输入如下docker命令来安装ubuntu系统,具体命令如下:

docker pull ubuntu //拉取最新版的 Ubuntu 镜像
docker images //查看本地镜像
docker run -itd --name ubuntu-test ubuntu //运行容器ubuntu-test
docker exec -it ubuntu-test /bin/bash  //通过 exec 命令进入 ubuntu 容器
ls //linux系统下查看目录命令






        到此位置,ubuntu系统创建完成,可以在b39ad0d37a41下利用root权限执行linux命令了。

3.3 启动Kitematic(Alpha)

        打开Kitematic(Alpha)后如下图所示,可以搜索一些Docker Hub上的映像Docker images,并且左下角可以打开Docker CLI命令行窗口,输入docker version可以查看Docker版本信息。


3.4 启动Oracle VM VirtualBox

        打开Oracle VM VirtualBox后,新建后的一个默认VM,启动后可看到Docker新建VM的shell窗口,如下图所示:


本文标签: docker Windows