Windows 11 使用容器(Docker Podman)

文章目录

  • 背景
  • 1、相关网站
    • 1.1、WSL
    • 1.2、Docker
    • 1.3、Podman
  • 2、环境
  • 3、安装部署
    • 3.1、安装 WSL
    • 3.2、Docker
      • 3.2.1、Docker Desktop
        • 3.2.1.1、安装
        • 3.2.1.2、拉取镜像
        • 3.2.1.3、启动容器
    • 3.3、Podman
      • 3.3.1、安装
      • 3.3.2、使用
      • 3.3.3、异常处理
  • 总结


背景

Windows 系统中使用容器,可以通过 Docker 或者 Podman 实现。

  1. Docker 有两种安装方式:Docker Desktop 或者 Docker Engine。
    • 注意:Docker Desktop 的授权说明,不是所有企业都可以使用的。【官方网站 - 相关说明】
    • 说明:Docker Engine 使用不受限 【官方文档】。但是,Windows 不在 Docker Engine 的支持列表中【官方网站 - 相关说明】。所以要通过虚拟机安装 Docker Engine。虚拟机怎么搞?Microsoft Store 或者 VMware Workstation Pro (这个 2025 年可以免费使用啦 ~ )有点折腾!这个时候 Podman 的优势就出来了,比 Docker Engine 安装简单一下啦!
  2. WSL:无论是 Docker 还是 Podman,在 Windows 环境下,都是需要依赖 WSL 的 ~ ~ ~

官方网站 - 相关截图

在这里插入图片描述

在这里插入图片描述


1、相关网站

1.1、WSL

Windows Subsystem for Linux (WSL) 是 Windows 系统中用于运行 Linux 发行版的一个兼容层,它允许用户在 Windows 环境下直接运行 Linux 命令行工具和应用程序,而无需安装虚拟机。WSL 提供了接近原生 Linux 的开发体验,同时能够访问 Windows 文件系统和网络资源。

官网:https://learn.microsoft.com/zh-cn/windows/wsl/

百度百科对于 WSL 的介绍: https://baike.baidu.com/item/wsl/20359185

WSL 的基本命令: https://learn.microsoft.com/zh-cn/windows/wsl/basic-commands

1.2、Docker

Docker Desktop 官方部署文档: https://docs.docker.com/desktop/install/windows-install/

版本更新说明: https://docs.docker.com/desktop/release-notes/

Docker Desktop Installer.exe 下载地址: https://desktop.docker.com/win/main/amd64/149282/Docker%20Desktop%20Installer.exe

1.3、Podman

官方网站: https://podman.io/

部署文档: https://podman.io/docs/installation

GitHub 提供的下载列表【没有 .exe 或 .msi 文件。官方网站可以下载到 .exe 文件,比较方便安装】: https://github.com/containers/podman/releases


2、环境

操作系统:Windows 11 家庭中文版 23H2 (22631.4602)

WSL 版本: 2.4.11.0

Docker Desktop 版本:4.30.0 (149282)
说明:此 Docker Desktop 版本包括 Docker 的版本为 26.1.1, build 4cf5afa

Podman 版本:5.4.0


3、安装部署

3.1、安装 WSL

  1. 启用 WSL 和虚拟机平台

在Windows中,打开“程序和功能”,选择“启用或关闭Windows功能”,勾选“适用于Linux的Windows子系统”和“虚拟机平台”两个选项。

  1. 重启电脑

  2. 安装 WSL

以管理员模式启动 PowerShell,设置 WSL 版本为 2,并更新 WSL 核心,然后安装 WSL

# 检查状态
wsl --status# 安装
wsl --install
# 更新
wsl --update
# 设置默认版本为 WSL 2
wsl --set-default-version 2
# 版本信息
wsl --version
# 帮助
wsl --help# 显示已安装的 Linux 发行版列表 + 确切版本和状态
wsl --list --verbose

3.2、Docker

3.2.1、Docker Desktop

3.2.1.1、安装

Docker Desktop Installer.exe 下载地址: https://desktop.docker.com/win/main/amd64/149282/Docker%20Desktop%20Installer.exe

通过 Docker Desktop Installer.exe 文件即可完成安装部署。

3.2.1.2、拉取镜像

通过 Docker Desktop 可视化界面管理镜像,需要登录 Docker 账户。通过命令行的方式,则不需要登录账户。

# 拉取镜像(通过页面拉取镜像,需要登录)
docker pull nginx:1.26.0
# 可通过页面部署

在这里插入图片描述

3.2.1.3、启动容器

镜像拉取后在 Docker Desktop 界面可以看到拉取的镜像(命令行拉取的也可以看到)。

点击 Run 按钮则弹出配置页面,以 Nginx 为例,配置端口,点击 Run 按钮,则容器就运行起来了。

通过浏览器访问 http://localhost:80 则可以看到 Nginx 的欢迎页面了。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3.3、Podman

3.3.1、安装

官方网站: https://podman.io/

推荐通过官方网站下载 .exe 安装文件,并按照默认设置进行安装。

# 通过检查版本号,确认是否安装成功
podman -v# 初始化 Podman 机器
# 自动在 WSL 环境中设置并启动一个 Podman 虚拟机
podman machine init
podman machine status# 启动 Podman 虚拟机
podman machine start
# 停止 Podman 虚拟机
podman machine stop

安装完成!

3.3.2、使用

说明:Podman 提供了与 Docker 客户端相同的命令集,因此熟悉 Docker 的用户可以很容易地上手。

3.3.3、异常处理

# 私有仓库拉取镜像,通过 --tls-verify=false 命令忽略私有证书
# 例如
podman pull 192.168.1.1/public/mysql:8.0.36 --tls-verify=false

总结

在 Docker Desktop 限制使用的情况下,Podman 是一个不错的选择,安装步骤相对简单一点。

但是,如果本身就有 VMware Workstation Pro 这类虚拟机的需求,那么虚拟机可能是更好的选择。毕竟 VMware Workstation Pro 有可视化的管理界面,更容易管理虚拟机!

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

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

相关文章

UE_C++ —— Gameplay Modules

目录 一,Module Creation INI File Setup 二,Multiple Gameplay Modules 三,Limitations 编译成 DLL 的游戏相关类的集合;正如引擎本身由一组模块构成一样,每个游戏也是由一个或多个游戏模块构成的;这些…

蓝桥杯定时器实现led闪烁

step1.配置定时器,TIM1时高级定时,TIM2是通用定时器,用TIM2就行,用内部时钟源,记住相关公式,定时器中断配置时要使能,且生成代码后也要在mian中写使能函数 step2.写代码 配置生成代码后多出的…

二:前端发送POST请求,后端获取数据

接着一:可以通过端口访问公网IP之后 二需要实现:点击飞书多维表格中的按钮,向服务器发送HTTP请求,并执行脚本程序 向服务器发送HTTP请求: 发送请求需要明确一下几个点 请求方法: 由于是向服务器端发送值…

内外网文件传输 安全、可控、便捷的跨网数据传输方案

一、背景与痛点 在内外网隔离的企业网络环境中,员工与外部协作伙伴(如钉钉用户)的文件传输面临以下挑战: 安全性风险:内外网直连可能导致病毒传播、数据泄露。 操作繁琐:传统方式需频繁切换网络环境&…

elasticsearch在windows上的配置

写在最前面: 上资源 第一步 解压: 第二步 配置两个环境变量 第三步 如果是其他资源需要将标蓝的文件中的内容加一句 xpack.security.enabled: false 不同版本的yaml文件可能配置不同,末尾加这个 xpack.security.enabled: true打开bin目…

OpenCV二值化处理

1.1. 为什么需要二值化操作 二值化操作将灰度图像转换为黑白图像,即将图像中的像素值分为两类:前景(通常为白色,值为 255)和背景(通常为黑色,值为 0)。二值化的主要目的是简化图像&…

[Android]浏览器下载的apk文件无法识别无法安装问题

在Android电话机上,用浏览器下载apk进行版本更新,出现下载文件没被识别为apk,导致无法安装问题。 原来的下载链接: https://mojsetup.obs.cn-southwest-2.myhuaweicloud.com/callphone-release-1.0.4.apk 修改后的下载链接&…

如何使用SSH连接设备?很简单!

前言 小白发现最近写的文章都与SSH息息相关,于是就有了这一篇文章,免得在后续的文章又不断重复如何SSH连接设备。 有需要的小伙伴自然就会看到这里,也不会影响到其他小伙伴的阅读体验。 至于文章里的广告嘛……就当是小伙伴们给小白的一点…

【自学嵌入式(9)ESP8266网络服务器的使用】

ESP8266网络服务器的使用 ESP8266WiFi 库① WiFiClass② WiFiClient③ WiFiServer④ WiFiUDP ESP8266WiFiMulti 库① WiFiMulti ESP8266WebServer 库① P8266WebServer 网络服务器实例在浏览器中控制ESP8266指示灯将开发板引脚状态显示在网页中 在之前的文章中,曾经…

pytorch3d安装记录

官方安装教程: https://github.com/facebookresearch/pytorch3d/blob/main/INSTALL.md 通过pip 或conda 可以很容易安装上预编译好的包, 安装过程不会报错, 但是使用的时候就会报各种错误 ,原因是预编译好的包跟自己的环境不一定…

【CVPR2024-工业异常检测】PromptAD:与只有正常样本的少样本异常检测的学习提示

代码链接 摘要 摘要写作总结: 1.提出 两个关键点 (视觉语言模型【模型】 少量工业异常检测【方向】) 2.想要解决的问题 3.针对上述问题,本文提出了一种什么【方法】的什么【应用方面】方法【模型名】 4.具体讲方法的步骤 5.实验…

【PostgreSQL】如何通过调整PostgreSQL配置参数提高数据库性能

如何通过调整PostgreSQL配置参数提高数据库性能 1. 数据库初始性能2. 内存相关参数3. WAL(Write-Ahead Logging)相关参数4. 并行查询相关参数5. 连接相关参数6. 根据情况调整 1. 数据库初始性能 使用pgbench在更新PostgreSQL数据库配置前先测试下数据库…

AI Agent实战:打造京东广告主的超级助手 | 京东零售技术实践

前言 自2022年末ChatGPT的问世,大语言模型(LLM)技术引发全球关注。在大模型技术落地的最佳实践中,智能体(Agent)架构显现出巨大潜力,成为业界的普遍共识,各大公司也纷纷启动Agent技…

从【人工智能】到【计算机视觉】,【深度学习】引领的未来科技创新与变革

前几天偶然发现了一个超棒的人工智能学习网站,内容通俗易懂,讲解风趣幽默,简直让人欲罢不能。忍不住分享给大家,点击这里立刻跳转,开启你的AI学习之旅吧! 前言 – 人工智能教程https://www.captainbed.cn/l…

ChātGPT赋能的“SolidWorks工具箱”:重塑3D设计效率新标杆

ChātGPT精心打造的“SolidWorks工具箱”正逐步成为3D设计领域中的一颗璀璨新星,其集高效、便捷与创新于一身,为用户带来了前所未有的设计体验。以下是对这一革命性工具箱的深度剖析与美化呈现: 一、核心功能:重塑设计流程&#x…

php处理图片出现内存溢出(Allowed memory size of 134217728 bytes exhausted)

错误: 最近做图片上传功能时发现上传某些图片时报内存溢出错误。如下所示: {"code": 0,"msg": "Allowed memory size of 134217728 bytes exhausted (tried to allocate 24576 bytes)","data": {"code&q…

Spring——SpringSecurity开发经验实战

摘要 本文介绍了一个简单的 Spring Security 实战示例,涵盖基本的身份验证和授权流程。首先介绍了 Spring Security 是一个强大的安全框架,用于在 Spring 应用中实现身份验证、授权以及保护应用免受常见安全攻击。接着详细阐述了项目结构、添加 Spring …

Innovus中快速获取timing path逻辑深度的golden脚本

在实际项目中我们经常会遇到一条timing path级数特别多,可能是一两页都翻不完。此时,我们大都需要手工去数这条path上到底有哪些是设计本身的逻辑,哪些是PR工具插入的buffer和inverter。 数字IC后端手把手培训教程 | Clock Gating相关clock …

【Qt】桌面应用开发 ------ 绘图事件和绘图设备 文件操作

文章目录 9、绘图事件和绘图设备9.1 QPainter9.2 手动触发绘图事件9.3 绘图设备9.3.1 QPixmap9.3.2 QImage9.3.3 QImage与QPixmap的区别9.3.4 QPicture 10、文件操作10.1 文件读写10.2 二进制文件读写10.3 文本文件读写10.4 综合案例 9、绘图事件和绘图设备 什么时候画&#x…

数据结构绪论

一-数据结构的基本概念 1-数据 数据是信息的载体,是描述客观事物属性的数、字符及所有能输入到计算机中并被计算机程序识别和处理的符号的集合。数据是计算机程序加工的原料。 2-数据元素 数据元素是数据的基本单位,通常作为一个整体进行考虑和处理。…