[云原生专题-16]:容器 - 在Windows主机上搭建Docker环境

Posted 文火冰糖的硅基工坊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[云原生专题-16]:容器 - 在Windows主机上搭建Docker环境相关的知识,希望对你有一定的参考价值。

作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客

本文网址:https://blog.csdn.net/HiWangWenBing/article/details/122732653


目录

前言:

第1章 概述

1.1 菜鸟教程

1.2 概述

1.3 关于Docker Desktop

第2章 虚拟机的选择

2.1 主要虚拟机介绍

2.2  虚拟机比较与选择

第3章 Windows + Hyper-V + Docker Desktop

第4章 Windows + VirtualBox + Linux + 普通docker


前言:

很多时候,我们需要在windows环境下开发docker应用程序,因此在windows下搭建Docker环境与非常实用和有必要的。

第1章 概述

1.1 菜鸟教程

Windows Docker 安装 | 菜鸟教程

1.2 概述

Docker 并非是一个通用的容器工具,它依赖于已存在并运行的 Linux 内核环境。这是因为docker是一个去掉Linux内核的轻量级的虚拟机,实际上是rootfs文件系统的隔离环境,所有的docker与运行docker的主机共享Linux内核。

Docker 实质上是在已经运行的 Linux 下制造了一个隔离的文件环境,因此它执行的效率几乎等同于所部署的 Linux 主机。

因此,Docker 必须部署在 Linux 内核的系统上

如果其他系统想部署 Docker 就必须安装一个虚拟 Linux 环境。

 在 Windows 上部署 Docker 的方法都是:先安装一个虚拟机,然后在安装 Linux 系统的的虚拟机中运行 Docker。

1.3 关于Docker Desktop

Docker Desktop 是 Docker 在 Windows 10 和 macOS 操作系统上的官方安装方式,这个方法依然属于先在虚拟机中安装 Linux ,然后再安装 Docker 的方法。 

第2章 虚拟机的选择

2.1 主要虚拟机介绍

(1)Hyper-V

Hyper-V 是微软开发的虚拟机,类似于 VMWare 或 VirtualBox,仅适用于 Windows 10。

这是 Docker Desktop for Windows 所使用的虚拟机。

但是,这个虚拟机一旦启用,QEMU、VirtualBox 或 VMWare Workstation 15 及以下版本将无法使用!

如果你必须在电脑上使用其他虚拟机(例如开发 android 应用必须使用的模拟器),请不要使用 Hyper-V!

(2)VMWare Workstation

VMware Workstation(中文名“威睿工作站”)是一款功能强大的桌面虚拟计算机软件,提供用户可在单一的桌面上同时运行不同的操作系统,和进行开发、测试 、部署新的应用程序的最佳解决方案。VMware Workstation可在一部实体机器上模拟完整的网络环境,以及可便于携带的虚拟机器,其更好的灵活性与先进的技术胜过了市面上其他的虚拟计算机软件。对于企业的 IT开发人员和系统管理员而言, VMware在虚拟网路,实时快照,拖曳共享文件夹,支持 PXE 等方面的特点使它成为必不可少的工具。

VMware Workstation的缺点是收费的,虽然有破解版本。

(3)VirtualBox

VirtualBox 是一款开源虚拟机软件。VirtualBox 是由德国 Innotek 公司开发,由Sun Microsystems公司出品的软件,使用Qt编写,在 Sun 被 Oracle 收购后正式更名成 Oracle VM VirtualBox

VirtualBox号称是最强的免费虚拟机软件,它不仅具有丰富的特色,而且性能也很优异。它简单易用,可虚拟的系统包括Windows(从Windows 3.1Windows 10Windows Server 2012,所有的Windows系统都支持)、Mac OS XLinux、OpenBSD、Solaris、IBM OS2甚至Android等操作系统。使用者可以在VirtualBox上安装并且运行上述的这些操作系统。 与同性质的VMwareVirtual PC比较下,VirtualBox独到之处包括远端桌面协定(RDP)、iSCSIUSB的支持,VirtualBox在客户端操作系统上已可以支持USB 3.0的硬件装置,不过要安装 VirtualBox Extension Pack。

2.2  虚拟机比较与选择

Hyper-V 是微软开发的虚拟机,仅仅是在windows环境中虚拟出一个简化版本的Linux内核环境,但并非是完全版本的Linux环境,Linux环境下的标准docker并不能运行在该虚拟机之上。因此,需要一个windows专有版本的Docker Desktop才能运行在Hyper-V。

另一个重要的原因,Hyper-V一旦启用、运行,在运行时会与其他虚拟机,如VirtualBox会发生冲突。因此,如果不是迫不得已,相信大多数开发者都不会选用这种方式。

VMWare Workstation是收费的,虽然有破解版,但终究是有隐患。

VirtualBox是开源的,因此,作者本人选择的是这种方案 。

第3章 Windows + Hyper-V + Docker Desktop

这种方案,本质上是windows对docker的支持。

选择这种方案需谨慎!!!

Hyper-V安装后,windows开机后会自动运行,开发Hyper-V的功能,这会导致VirtualBox和VMWare Workstation无法运行,需要相应的手段关闭Hyper-V才行。

详细的安装教程如下:

Windows Docker 安装 | 菜鸟教程

第4章 Windows + VirtualBox + Linux + 普通docker

这种方案,本质是在Windows下,通过虚拟机安装一个Linxu操作系统,对docker的支持,其实与Windows无关。本质还是Linux环境下的Docker安装。

基本过程如下:

(1)下载并安装VirtualBox虚拟机管理器

Oracle VM VirtualBoxhttps://www.virtualbox.org/

(2)通过VirtualBox创建虚拟机

详解VirtualBox创建虚拟机过程

(3)通过IE浏览器,下载CentOS和Ubuntu的安装镜像文件*.so。

VirtualBox会使用安装镜像文件安装实际的Linux操作系统镜像。

Index of /ubuntu-releases/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

Index of /ubuntu-releases/21.04/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

Index of /centos/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

Index of /centos/8.5.2111/isos/x86_64/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

(4)在虚拟机安装CentOS或Ubuntu的Linux操作系统

  • ubuntu
  • CentOS

(5)在Linxu环境下安装docker

[云原生专题-7]:容器 - Ubuntu/CentOS Linux平台上Docker引擎及环境的安装与启动:systemctl start docker_文火冰糖(王文兵)的博客-CSDN博客作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客本文网址:目录前言:第1章 Ubuntu与CentOS 应用程序安装命令第2章 Docker安装包的组成第3章 Docker参考教程3.1Ubuntu与CentOS比较3.2Ubuntu3.3CentOS安装教程第4章 安装后检查前言:(1)不同的Linux发行版本,如Ubuntu与CentOS,安装应用程序命令和安装包的管理是不一样的,对于不同发行版本的Linux...https://blog.csdn.net/HiWangWenBing/article/details/122654062


作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客

本文网址:https://blog.csdn.net/HiWangWenBing/article/details/122732653

以上是关于[云原生专题-16]:容器 - 在Windows主机上搭建Docker环境的主要内容,如果未能解决你的问题,请参考以下文章

[云原生专题-15]:容器 - docker主机管理工具-docker machine

[云原生专题-9]:容器 - Docker的启动与关闭:runstop

[云原生专题-6]:容器 - Docker概述以及虚拟机的比较

[云原生专题-14]:容器 - 批量定义构建运行多个微服务- docker编排工具Compose

[云原生专题-12]:容器 - Ubuntu/CentOS平台没有ifconfig/ping工具的解决办法

[云原生专题-10]:容器 - Docker的修改保存共享:commitsaveload-v