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

别再手动敲AT指令了!用STM32CubeMX HAL库驱动ESP8266连接OneNET的保姆级教程

STM32CubeMX与HAL库驱动ESP8266连接OneNET的工程化实践 在物联网设备开发中&#xff0c;WiFi模块的集成往往是项目成败的关键节点。传统基于AT指令的手动调试方式不仅效率低下&#xff0c;还容易引入人为错误。本文将展示如何利用STM32CubeMX生成的HAL库代码&#xff0c;构建一…...

5分钟快速上手:Windows风扇控制软件FanControl完全指南

5分钟快速上手&#xff1a;Windows风扇控制软件FanControl完全指南 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending/f…...

Boss直聘爬虫数据采集:从手机热点切换IP到账号池管理的避坑指南

Boss直聘数据采集系统工程指南&#xff1a;从IP轮换到自动化容错设计 在招聘市场分析领域&#xff0c;Boss直聘作为头部平台积累了海量高价值数据。但想要稳定获取这些数据&#xff0c;传统单点突破的爬虫策略往往捉襟见肘。去年我们团队为某HR SaaS系统搭建采集架构时&#xf…...

如何快速部署GLM-5-w4a8:Atlas 800T A3上的终极AI推理解决方案

如何快速部署GLM-5-w4a8&#xff1a;Atlas 800T A3上的终极AI推理解决方案 【免费下载链接】GLM-5-w4a8 GLM-5-w4a8基于混合专家架构&#xff0c;专为复杂系统工程与长周期智能体任务设计。支持单/多节点部署&#xff0c;适配Atlas 800T A3&#xff0c;采用w4a8量化技术&#x…...

Video Station for DSM 7.2.2:解决群晖新版系统视频管理兼容性问题的完整方案

Video Station for DSM 7.2.2&#xff1a;解决群晖新版系统视频管理兼容性问题的完整方案 【免费下载链接】Video_Station_for_DSM_722 Script to install Video Station in DSM 7.2.2 and DSM 7.3 项目地址: https://gitcode.com/gh_mirrors/vi/Video_Station_for_DSM_722 …...

掌握Inter字体:现代排版必备的5个专业技巧终极指南

掌握Inter字体&#xff1a;现代排版必备的5个专业技巧终极指南 【免费下载链接】inter The Inter font family 项目地址: https://gitcode.com/gh_mirrors/in/inter Inter字体作为一款专为数字界面设计的现代无衬线字体系统&#xff0c;以其卓越的可读性和强大的OpenTyp…...

Java 深度解析:for 循环 vs Stream.forEach 及性能优化指南

一、基础概念与语法对比1.1 传统 for 循环Java 提供了三种主要的传统循环结构&#xff1a;// 1. 索引 for 循环&#xff08;最高性能&#xff09; for (int i 0; i < list.size(); i) {String item list.get(i);System.out.println(item); }// 2. 增强 for 循环&#xff0…...

Windhawk完全指南:免费开源Windows系统定制工具终极教程

Windhawk完全指南&#xff1a;免费开源Windows系统定制工具终极教程 【免费下载链接】windhawk The customization marketplace for Windows programs: https://windhawk.net/ 项目地址: https://gitcode.com/gh_mirrors/wi/windhawk Windhawk是一款完全免费开源的Windo…...

绝地求生罗技鼠标宏终极配置指南:5分钟快速实现无后坐力压枪

绝地求生罗技鼠标宏终极配置指南&#xff1a;5分钟快速实现无后坐力压枪 【免费下载链接】logitech-pubg PUBG no recoil script for Logitech gaming mouse / 绝地求生 罗技 鼠标宏 项目地址: https://gitcode.com/gh_mirrors/lo/logitech-pubg 想要在《绝地求生》中轻…...

C语言数组实战:避开‘暴力模拟’的坑,用标记法高效统计‘安全区域’

C语言数组实战&#xff1a;避开‘暴力模拟’的坑&#xff0c;用标记法高效统计‘安全区域’ 在游戏开发、图像处理或数据分析领域&#xff0c;处理大规模二维网格数据是家常便饭。想象一下&#xff0c;你正在开发一个MMORPG游戏&#xff0c;需要实时计算玩家可安全移动的区域&a…...