Docker Desktop 在Windows 环境中开发、测试和运行容器化的应用程序

Docker 为 Windows 提供了专门的桌面版工具,称为 Docker Desktop,它允许你在 Windows 环境中开发、测试和运行容器化的应用程序。

如何在 Windows 上使用 Docker

  1. Docker Desktop
    Docker Desktop 是一个专为 Windows 设计的应用程序,它简化了在 Windows 上安装和管理 Docker 的过程。Docker Desktop 支持 Windows 10 和 Windows 11(至少是 Pro 或 Enterprise 版本),并且为开发人员提供了一个完整的开发环境。

Docker Desktop 支持的操作系统:
Windows 10 或 Windows 11:支持 Pro、Enterprise 和 Education 版本(需要启用 Hyper-V 和 Windows Subsystem for Linux 2)。
Windows Server 2016 及以上版本:也支持 Docker,但需要额外的配置。
2. 安装步骤
下载 Docker Desktop:

访问 Docker 官网 并下载适用于 Windows 的 Docker Desktop。
安装 Docker Desktop:

双击下载的安装包并按照向导进行安装。
在安装过程中,它会提示启用 Hyper-V 和 Windows Subsystem for Linux 2 (WSL 2),你需要根据提示进行操作。这两者是 Docker 在 Windows 上运行容器的核心技术。
启动 Docker Desktop:

安装完成后,启动 Docker Desktop,它会在后台启动 Docker 引擎并配置必要的环境。
启动时,Docker Desktop 会确保 Hyper-V 和 WSL 2 正常工作,这样容器就可以在虚拟化环境中运行。
运行 Docker 命令:

安装完成并启动 Docker Desktop 后,你就可以在终端(如 PowerShell 或命令提示符)中使用 docker 命令了。例如,可以通过以下命令来检查 Docker 是否正常运行:

docker --version
或者运行一个简单的容器:
docker run hello-world
3. 使用 WSL 2(Windows Subsystem for Linux 2)
在 Docker Desktop 的配置中,WSL 2 是 Docker 在 Windows 上运行容器的关键组件。WSL 2 是一个完整的 Linux 内核,可以让你在 Windows 上运行 Linux 容器。

如果你选择启用 WSL 2,Docker 会将容器直接运行在 WSL 2 的 Linux 环境中,而不是传统的 Hyper-V 虚拟机中。这不仅能提供更好的性能,还能支持更多的 Linux 功能。
4. Linux 容器与 Windows 容器的切换
Docker Desktop 支持同时运行 Linux 容器和Windows 容器。默认情况下,Docker Desktop 会运行 Linux 容器,但你可以通过 Docker Desktop 的设置界面切换到 Windows 容器模式。通常,Linux 容器对于开发者来说更为常见,因为大多数 Docker 镜像和应用程序都是在 Linux 环境中运行的。

在 Docker Desktop 上,你可以通过右键点击 Docker 图标,选择 “Switch to Windows Containers” 或 “Switch to Linux Containers” 来切换容器模式。

  1. 在 Docker Desktop 上运行容器
    一旦安装完成,你就可以像在任何其他平台上一样运行 Docker 容器。在 Windows 上,你通常会运行 Linux 容器,但 Docker Desktop 会为 Windows 提供必要的支持来运行 Windows 容器。

例如,拉取并运行一个 Docker 镜像:
docker pull ubuntu
docker run -it ubuntu bash
这样就会启动一个 Ubuntu 容器并进入 Bash 环境。

  1. Windows容器与 Linux容器的差异
    Linux 容器:大多数 Docker 镜像和应用程序都是基于 Linux 的,因此 Linux 容器是 Docker 的标准运行模式。
    Windows 容器:Windows 容器可以运行 Windows 应用程序和镜像,它们需要 Windows 服务器的支持,且不完全与 Linux 容器兼容。因此,Windows 容器通常用于运行基于 Windows 的应用,而不适用于大多数通用应用。
  2. Docker for Windows 限制
    Windows Home Edition:Docker Desktop 不支持 Windows Home 版本,因为它不包含 Hyper-V 和 WSL 2。如果你使用的是 Windows Home 版本,虽然 Docker Desktop 的一些功能不可用,但你可以尝试使用 Docker Toolbox,它是为 Windows 7 和 Windows Home 版本设计的较早版本,但功能和性能上较为有限。
    性能限制:通过虚拟化运行的 Docker 容器(无论是 Linux 容器还是 Windows 容器)通常会比原生运行的容器性能稍差,但对于大多数开发场景已经足够。
    总结
    是的,Docker 可以在 Windows 上运行,尤其是通过 Docker Desktop,它为 Windows 提供了完整的 Docker 开发环境。
    Docker Desktop 在 Windows 10 和 Windows 11 上(Pro、Enterprise 版本)工作良好,并且使用 WSL 2 来运行 Linux 容器。
    你可以在 Docker Desktop 上切换容器类型,支持 Linux 容器和 Windows 容器的切换。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/66899.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

仿 RabbitMQ 的消息队列3(实战项目)

七. 消息存储设计 上一篇博客已经将消息统计文件的读写代码实现了,下一步我们将实现创建队列文件和目录。 实现创建队列文件和目录 初始化 0\t0 这样的初始值. //创建队列对应的文件和目录:public void createQueueFile(String queueName) throws IO…

HTTP 配置与应用(局域网)

想做一个自己学习的有关的csdn账号,努力奋斗......会更新我计算机网络实验课程的所有内容,还有其他的学习知识^_^,为自己巩固一下所学知识,下次更新HTTP 配置与应用(不同网段)。 我是一个萌新小白&#xf…

root用户Linux银河麒麟服务器安装vnc服务

安装必要桌面环境组件 yum install mate-session-manager -y mate-session #确定是否安装成功安装vnc服务器 yum install tigervnc-server -y切换到root为root得vnc设置密码 su root vncpasswd给root用户设置vnc服务器文件 vi /etc/systemd/system/vncserver:1.service [Un…

理解深度学习pytorch框架中的线性层

文章目录 1. 数学角度: y W x b \displaystyle y W\,x b yWxb示例 2. 编程实现角度: y x W T b \displaystyle y x\,W^T b yxWTb3. 常见错误与易混点解析4. 小结参考链接 在神经网络或机器学习的线性层(Linear Layer / Fully Connect…

C#Object类型的索引,序列化和反序列化

前言 最近在编写一篇关于标准Mes接口框架的文章。其中有一个非常需要考究的内容时如果实现数据灵活和可使用性强。因为考虑数据灵活性,所以我一开始选取了Object类型作为数据类型,Object作为数据Value字段,String作为数据Key字段&#xff0c…

大模型应用与部署 技术方案

大模型应用与部署 技术方案 一、引言 人工智能蓬勃发展,Qwen 大模型在自然语言处理领域地位关键,其架构优势尽显,能处理文本创作等多类复杂任务,提供优质交互。Milvus 向量数据库则是向量数据存储检索利器,有高效索引算法(如 IVF_FLAT、HNSWLIB 等)助力大规模数据集相似…

【Prometheus】Prometheus如何监控Haproxy

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

C# 控制打印机:从入门到实践

在开发一些涉及打印功能的应用程序时,使用 C# 控制打印机是一项很实用的技能。这篇文章就来详细介绍下如何在 C# 中实现对打印机的控制。 一、准备工作 安装相关库:在 C# 中操作打印机,我们可以借助System.Drawing.Printing命名空间&#x…

Go语言中的值类型和引用类型特点

一、值类型 值类型的数据直接包含值,当它们被赋值给一个新的变量或者作为参数传递给函数时,实际上是创建了原值的一个副本。这意味着对新变量的修改不会影响原始变量的值。 Go中的值类型包括: 基础类型:int,float64…

GPT 结束语设计 以nanogpt为例

GPT 结束语设计 以nanogpt为例 目录 GPT 结束语设计 以nanogpt为例 1、简述 2、分词设计 3、结束语断点 1、简述 在手搓gpt的时候,可能会遇到一些性能问题,即关于是否需要全部输出或者怎么节约资源。 在输出语句被max_new_tokens 限制&#xff0c…

《探秘:人工智能如何为鸿蒙Next元宇宙网络传输与延迟问题破局》

在元宇宙的宏大愿景中,流畅的网络传输和低延迟是保障用户沉浸式体验的关键。鸿蒙Next结合人工智能技术,为解决这些问题提供了一系列创新思路和方法。 智能网络监测与预测 人工智能可以实时监测鸿蒙Next元宇宙中的网络状况,包括带宽、延迟、…

深入MapReduce——计算模型设计

引入 通过引入篇,我们可以总结,MapReduce针对海量数据计算核心痛点的解法如下: 统一编程模型,降低用户使用门槛分而治之,利用了并行处理提高计算效率移动计算,减少硬件瓶颈的限制 优秀的设计&#xff0c…

macOS安装Gradle环境

文章目录 说明安装JDK安装Gradle 说明 gradle8.5最高支持jdk21,如果使用jdk22建议使用gradle8.8以上版本 安装JDK mac系统安装最新(截止2024.9.13)Oracle JDK操作记录 安装Gradle 下载Gradle,解压将其存放到资源java/env目录…

五国十五校联合巨献!仿人机器人运动与操控:控制、规划与学习的最新突破与挑战

作者: Zhaoyuan Gu, Junheng Li, Wenlan Shen, Wenhao Yu, Zhaoming Xie, Stephen McCrory, Xianyi Cheng, Abdulaziz Shamsah, Robert Griffin, C. Karen Liu, Abderrahmane Kheddar, Xue Bin Peng, Yuke Zhu, Guanya Shi, Quan Nguyen, Gordon Cheng, Huijun Gao,…

CVPR 2024 无人机/遥感/卫星图像方向总汇(航空图像和交叉视角定位)

1、UAV、Remote Sensing、Satellite Image(无人机/遥感/卫星图像) Unleashing Unlabeled Data: A Paradigm for Cross-View Geo-Localization ⭐codeRethinking Transformers Pre-training for Multi-Spectral Satellite Imagery ⭐codeAerial Lifting: Neural Urban Semantic …

【BQ3568HM开发板】如何在OpenHarmony上通过校园网的上网认证

引言 前面已经对BQ3568HM开发板进行了初步测试,后面我要实现MQTT的工作,但是遇到一个问题,就是开发板无法通过校园网的认证操作。未认证的话会,学校使用的深澜软件系统会屏蔽所有除了认证用的流量。好在我们学校使用的认证系统和…

(Java版本)基于JAVA的网络通讯系统设计与实现-毕业设计

源码 论文 下载地址: ​​​​c​​​​​​c基于JAVA的网络通讯系统设计与实现(源码系统论文)https://download.csdn.net/download/weixin_39682092/90299782https://download.csdn.net/download/weixin_39682092/90299782 第1章 绪论 1.1 课题选择的…

kafka学习笔记4-TLS加密 —— 筑梦之路

1. 准备证书文件 mkdir /opt/kafka/pkicd !$# 生成CA证书 openssl req -x509 -nodes -days 3650 -newkey rsa:4096 -keyout ca.key -out ca.crt -subj "/CNKafka-CA"# 生成私钥 openssl genrsa -out kafka.key 4096# 生成证书签名请求 (CSR) openssl req -new -key …

Node.js NativeAddon 构建工具:node-gyp 安装与配置完全指南

Node.js NativeAddon 构建工具:node-gyp 安装与配置完全指南 node-gyp Node.js native addon build tool [这里是图片001] 项目地址: https://gitcode.com/gh_mirrors/no/node-gyp 项目基础介绍及主要编程语言 Node.js NativeAddon 构建工具(node-gyp…

SpringCloud微服务Gateway网关简单集成Sentinel

Sentinel是阿里巴巴开源的一款面向分布式服务架构的轻量级流量控制、熔断降级组件。Sentinel以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度来帮助保护服务的稳定性。 官方文档:https://sentinelguard.io/zh-cn/docs/introduction.html …