当前位置: 首页 > news >正文

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 有可视化的管理界面,更容易管理虚拟机!

相关文章:

Windows 11 使用容器(Docker Podman)

文章目录 背景1、相关网站1.1、WSL1.2、Docker1.3、Podman 2、环境3、安装部署3.1、安装 WSL3.2、Docker3.2.1、Docker Desktop3.2.1.1、安装3.2.1.2、拉取镜像3.2.1.3、启动容器 3.3、Podman3.3.1、安装3.3.2、使用3.3.3、异常处理 总结 背景 Windows 系统中使用容器&#xf…...

代码审计入门学习之sql注入

路由规则 入口文件&#xff1a;index.php <?php // ---------------------------------------------------------------------- // | wuzhicms [ 五指互联网站内容管理系统 ] // | Copyright (c) 2014-2015 http://www.wuzhicms.com All rights reserved. // | Licensed …...

2024信息技术、信息安全、网络安全、数据安全等国家标准合集共125份。

2024信息技术、信息安全、网络安全、数据安全等国家标准合集&#xff0c;共125份。 一、2024信息技术标准&#xff08;54份&#xff09; GB_T 17966-2024 信息技术 微处理器系统 浮点运算.pdf GB_T 17969.8-2024 信息技术 对象标识符登记机构操作规程 第8部分&#xff1a;通用…...

element ui的select选择框

我们首先先试一下&#xff0c;这个东西怎么玩的 <el-select v-model"select" change"changeSelect"><el-option value"香蕉"></el-option><el-option value"菠萝"></el-option><el-option value&quo…...

文档检索服务平台

文档检索服务平台是基于Elasticsearch的全文检索&#xff0c;包含数据采集、数据清洗、数据转换、数据检索等模块。 项目地址&#xff1a;Github、国内Gitee 演示地址&#xff1a;http://silianpan.cn/gdss/ 以下是演示角色和账号&#xff08;密码同账号&#xff09;&#xf…...

使用FastAPI进行可视化部署

文章目录 一、FastAPI介绍二、环境配置三、示例代码1.app.py代码如下2.websocket_handler.py 代码如下3.运行app4.遇到的问题与解决 一、FastAPI介绍 FastAPI是一个高性能的Python Web框架&#xff0c;它基于Starlette并利用了 Python类型提示的优势。它可以帮助我们快速构建具…...

设计模式 之 工厂模式(简单工厂模式、工厂方法模式、抽象工厂模式)(C++)

文章目录 C 工厂模式引言一、简单工厂模式概念实现步骤示例代码优缺点 二、工厂方法模式概念实现步骤示例代码优缺点 三、抽象工厂模式概念实现步骤示例代码优缺点 C 工厂模式 引言 在 C 编程中&#xff0c;对象的创建是一个常见且基础的操作。然而&#xff0c;当项目规模逐渐…...

3、Kubernetes 集群部署 Prometheus 和 Grafana

Kubernetes 集群部署 Prometheus 和 Grafana node-exporter 安装Prometheus 安装和配置Prometheus 配置热加载Grafana 安装部署Grafana 配置 实验环境 控制节点/master01 192.168.110.10 工作节点/node01 192.168.110.20 工作节点/node02 192.168.110.30 node-exporter 安装 #…...

【C语言】第八期——指针

目录 1 初始指针 2 获取变量的地址 3 定义指针变量、取地址、取值 3.1 定义指针变量 3.2 取地址、取值 4 对指针变量进行读写操作 5 指针变量作为函数参数 6 数组与指针 6.1 指针元素指向数组 6.2 指针加减运算&#xff08;了解&#xff09; 6.2.1 指针加减具体数字…...

如何在 Mac 上安装并配置 JDK 环境变量

如何在Mac上安装并配置JDK环境变量 在开发过程中&#xff0c;许多应用和框架都需要使用Java&#xff0c;尤其是使用Java开发的应用程序。如果你是Mac用户&#xff0c;以下是安装并配置JDK环境变量的步骤&#xff0c;确保你能顺利运行Java程序。 步骤 1&#xff1a;下载JDK 访…...

【git-hub项目:YOLOs-CPP】本地实现05:项目移植

ok&#xff0c;经过前3个博客&#xff0c;我们实现了项目的跑通。 但是&#xff0c;通常情况下&#xff0c;我们的项目都是需要在其他电脑上也跑通&#xff0c;才对。 然而&#xff0c;经过测试&#xff0c;目前出现了2 个bug。 项目一键下载【⬇️⬇️⬇️】&#xff1a; 精…...

LeetCode 热题 100 206. 反转链表

LeetCode 热题 100 | 206. 反转链表 大家好&#xff0c;今天我们来解决一道经典的算法题——反转链表。这道题在 LeetCode 上被标记为简单难度&#xff0c;要求我们将一个单链表反转&#xff0c;并返回反转后的链表。下面我将详细讲解解题思路&#xff0c;并附上 Python 代码实…...

2025年02月21日Github流行趋势

项目名称&#xff1a;source-sdk-2013 项目地址url&#xff1a;https://github.com/ValveSoftware/source-sdk-2013项目语言&#xff1a;C历史star数&#xff1a;7343今日star数&#xff1a;929项目维护者&#xff1a;JoeLudwig, jorgenpt, narendraumate, sortie, alanedwarde…...

WebXR教学 03 项目1 旋转彩色方块

一、项目结构 webgl-cube/ ├── index.html ├── main.js ├── package.json └── vite.config.js二、详细实现步骤 初始化项目 npm init -y npm install three vite --save-devindex.html <!DOCTYPE html> <html lang"en"> <head><…...

深入解析JVM垃圾回收机制

1 引言 本节常见面试题 如何判断对象是否死亡&#xff08;两种方法&#xff09;。简单的介绍一下强引用、软引用、弱引用、虚引用&#xff08;虚引用与软引用和弱引用的区别、使用软引用能带来的好处&#xff09;。如何判断一个常量是废弃常量如何判断一个类是无用的类垃圾收…...

【简单】209.长度最小的子数组

题目描述 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 子数组 [numsl, numsl1, …, numsr-1, numsr] &#xff0c;并返回其长度。如果不存在符合条件的子数组&#xff0c;返回0。 示例 1&#xff1a; 输入&am…...

细说 Java 引用(强、软、弱、虚)和 GC 流程(二)

一、前文回顾 在 细说Java 引用&#xff08;强、软、弱、虚&#xff09;和 GC 流程&#xff08;一&#xff09; 我们对Java 引用有了总体的认识&#xff0c;本文将继续深入分析 Java 引用在 GC 时的一些细节。 还是从我们在前文中提到的引用流程图里说起&#xff0c;这里不清…...

CSS通过webkit-scrollbar设置滚动条样式

查看::-webkit-scrollbar-*各项关系 以下图为例&#xff0c;可以分别定义滚动条背景、滚动轨道、滚动滑块的样式。 需要先给外部容器设置高度&#xff0c;再设置overflow: auto&#xff0c;最后设置三个webkit属性。 <!DOCTYPE html> <html lang"en">…...

Win10配置VSCode的C/C++编译环境

GNU&#xff08;编译器工具集合&#xff09;包含了g、gcc和gdb等编译器。MinGW&#xff08;Minimalist GNU for Windows&#xff09;是一个适用于Windows操作系统的最小化的GNU工具集&#xff0c;它包括了GCC编译器&#xff08;包括g&#xff09;以及其他一些必要的库和工具。M…...

数据结构与算法再探(七)查找-排序

查找 一、二分查找 二分查找是一种高效的查找算法&#xff0c;适用于在已排序的数组或列表中查找特定元素。它通过将搜索范围逐步减半来快速定位目标元素。理解二分查找的“不变量”和选择左开右闭区间的方式是掌握这个算法的关键。 二分查找关键点 不变量 在二分查找中&a…...

工业安全零事故的智能守护者:一体化AI智能安防平台

前言&#xff1a; 通过AI视觉技术&#xff0c;为船厂提供全面的安全监控解决方案&#xff0c;涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面&#xff0c;能够实现对应负责人反馈机制&#xff0c;并最终实现数据的统计报表。提升船厂…...

【入坑系列】TiDB 强制索引在不同库下不生效问题

文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

LeetCode - 199. 二叉树的右视图

题目 199. 二叉树的右视图 - 力扣&#xff08;LeetCode&#xff09; 思路 右视图是指从树的右侧看&#xff0c;对于每一层&#xff0c;只能看到该层最右边的节点。实现思路是&#xff1a; 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...

20个超级好用的 CSS 动画库

分享 20 个最佳 CSS 动画库。 它们中的大多数将生成纯 CSS 代码&#xff0c;而不需要任何外部库。 1.Animate.css 一个开箱即用型的跨浏览器动画库&#xff0c;可供你在项目中使用。 2.Magic Animations CSS3 一组简单的动画&#xff0c;可以包含在你的网页或应用项目中。 3.An…...

软件工程 期末复习

瀑布模型&#xff1a;计划 螺旋模型&#xff1a;风险低 原型模型: 用户反馈 喷泉模型:代码复用 高内聚 低耦合&#xff1a;模块内部功能紧密 模块之间依赖程度小 高内聚&#xff1a;指的是一个模块内部的功能应该紧密相关。换句话说&#xff0c;一个模块应当只实现单一的功能…...

spring Security对RBAC及其ABAC的支持使用

RBAC (基于角色的访问控制) RBAC (Role-Based Access Control) 是 Spring Security 中最常用的权限模型&#xff0c;它将权限分配给角色&#xff0c;再将角色分配给用户。 RBAC 核心实现 1. 数据库设计 users roles permissions ------- ------…...

论文阅读:Matting by Generation

今天介绍一篇关于 matting 抠图的文章&#xff0c;抠图也算是计算机视觉里面非常经典的一个任务了。从早期的经典算法到如今的深度学习算法&#xff0c;已经有很多的工作和这个任务相关。这两年 diffusion 模型很火&#xff0c;大家又开始用 diffusion 模型做各种 CV 任务了&am…...

ui框架-文件列表展示

ui框架-文件列表展示 介绍 UI框架的文件列表展示组件&#xff0c;可以展示文件夹&#xff0c;支持列表展示和图标展示模式。组件提供了丰富的功能和可配置选项&#xff0c;适用于文件管理、文件上传等场景。 功能特性 支持列表模式和网格模式的切换展示支持文件和文件夹的层…...

Qt的学习(二)

1. 创建Hello Word 两种方式&#xff0c;实现helloworld&#xff1a; 1.通过图形化的方式&#xff0c;在界面上创建出一个控件&#xff0c;显示helloworld 2.通过纯代码的方式&#xff0c;通过编写代码&#xff0c;在界面上创建控件&#xff0c; 显示hello world&#xff1b; …...