当前位置: 首页 > 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…...

【OSG学习笔记】Day 18: 碰撞检测与物理交互

物理引擎&#xff08;Physics Engine&#xff09; 物理引擎 是一种通过计算机模拟物理规律&#xff08;如力学、碰撞、重力、流体动力学等&#xff09;的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互&#xff0c;广泛应用于 游戏开发、动画制作、虚…...

FFmpeg 低延迟同屏方案

引言 在实时互动需求激增的当下&#xff0c;无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作&#xff0c;还是游戏直播的画面实时传输&#xff0c;低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架&#xff0c;凭借其灵活的编解码、数据…...

(二)TensorRT-LLM | 模型导出(v0.20.0rc3)

0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述&#xff0c;后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作&#xff0c;其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...

【AI学习】三、AI算法中的向量

在人工智能&#xff08;AI&#xff09;算法中&#xff0c;向量&#xff08;Vector&#xff09;是一种将现实世界中的数据&#xff08;如图像、文本、音频等&#xff09;转化为计算机可处理的数值型特征表示的工具。它是连接人类认知&#xff08;如语义、视觉特征&#xff09;与…...

LLMs 系列实操科普(1)

写在前面&#xff1a; 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容&#xff0c;原视频时长 ~130 分钟&#xff0c;以实操演示主流的一些 LLMs 的使用&#xff0c;由于涉及到实操&#xff0c;实际上并不适合以文字整理&#xff0c;但还是决定尽量整理一份笔…...

uniapp 小程序 学习(一)

利用Hbuilder 创建项目 运行到内置浏览器看效果 下载微信小程序 安装到Hbuilder 下载地址 &#xff1a;开发者工具默认安装 设置服务端口号 在Hbuilder中设置微信小程序 配置 找到运行设置&#xff0c;将微信开发者工具放入到Hbuilder中&#xff0c; 打开后出现 如下 bug 解…...

学习一下用鸿蒙​​DevEco Studio HarmonyOS5实现百度地图

在鸿蒙&#xff08;HarmonyOS5&#xff09;中集成百度地图&#xff0c;可以通过以下步骤和技术方案实现。结合鸿蒙的分布式能力和百度地图的API&#xff0c;可以构建跨设备的定位、导航和地图展示功能。 ​​1. 鸿蒙环境准备​​ ​​开发工具​​&#xff1a;下载安装 ​​De…...

[论文阅读]TrustRAG: Enhancing Robustness and Trustworthiness in RAG

TrustRAG: Enhancing Robustness and Trustworthiness in RAG [2501.00879] TrustRAG: Enhancing Robustness and Trustworthiness in Retrieval-Augmented Generation 代码&#xff1a;HuichiZhou/TrustRAG: Code for "TrustRAG: Enhancing Robustness and Trustworthin…...

跨平台商品数据接口的标准化与规范化发展路径:淘宝京东拼多多的最新实践

在电商行业蓬勃发展的当下&#xff0c;多平台运营已成为众多商家的必然选择。然而&#xff0c;不同电商平台在商品数据接口方面存在差异&#xff0c;导致商家在跨平台运营时面临诸多挑战&#xff0c;如数据对接困难、运营效率低下、用户体验不一致等。跨平台商品数据接口的标准…...

深入理解 React 样式方案

React 的样式方案较多,在应用开发初期,开发者需要根据项目业务具体情况选择对应样式方案。React 样式方案主要有: 1. 内联样式 2. module css 3. css in js 4. tailwind css 这些方案中,均有各自的优势和缺点。 1. 方案优劣势 1. 内联样式: 简单直观,适合动态样式和…...