手把手教你在 windows 上安装 Docker

前言

大家好,我是潇潇雨声,今天为大家带来一篇关于在 Windows 环境下使用 Docker 的教程。对于 Docker,我们可以简单地将其看作一种方便的软件安装方式,而无需深入涉及其复杂的概念。选择使用 Docker 主要是为了省事,比如在 Windows 上安装 MySQL、Redis 等软件时,繁琐的配置可能会成为阻碍前进的绊脚石。而使用 Docker 后,部署仅需一键操作,无需为琐碎的配置和晦涩的英文文档而烦恼。

WSL2

什么是 WSL?

WSL 全称是 Windows Subsystem for Linux ,适用于 Linux 的 Windows 子系统,允许在 Windows 操作系统上运行 Linux 二进制文件,使开发人员能够在 Windows 环境中方便地使用 Linux 工具和应用程序。说人话就是在 windows 上不安装 Linux 系统或者不使用虚拟机便可以体验双系统。

启动 WSL
  1. 打开控制面板
alt
  1. 点击启用或关闭 windows 功能,然后勾选上 Hyper-V 以及适用于 Linux 的 Windows 子系统
alt
alt
alt

安装 Ubuntu

有了 WSL必要的虚拟化技术,接下来去 Microsoft Store 下载并安装 Linux 发行版,这里以 Ubuntu 22.04.3 LTS 为例。 alt

双击启动 Ubuntu

alt

我第一次启动的时候并没有成功,报错如下

alt

造成该问题的原因是WSL版本由原来的WSL1升级到WSL2后内核没有升级前往微软 WSL 官网[1]下载安装适用于x64计算机的最新WS2Linux内核更新包即可下载链接https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi。

按照提示初次设置用户名和密码,注意用户名不支持大写。 alt

下载 Docker Desktop

前往 Docker 下载 windows 的 Docker Desktop,下载链接:https://docs.docker.com/desktop/install/windows-install/

alt

无脑安装 Docker Desktop

下载完成之后,点击安装,一直下一步,完成之后,就可以使用了。

alt
alt
alt

启动 Docker Desktop

点击 Accept,然后登录自己的 Docker 账号。

alt

配置 Docker

  1. 打开设置
alt
  1. 配置国内镜像

​ 选择 Docker Engine 添加如下配置:

json 配置信息如下:

{
  "builder": {
    "gc": {
      "defaultKeepStorage""20GB",
      "enabled"true
    }
  },
  "dns": [
    "8.8.8.8",
    "8.8.4.4"
  ],
  "experimental"false,
  "features": {
    "buildkit"true
  },
  "insecure-registries": [
    "https://hub.atguigu.com"
  ],
  "registry-mirrors": [
    "https://registry.docker-cn.com",
    "http://hub-mirror.c.163.com",
    "https://mirror.ccs.tencentyun.com",
    "https://docker.mirrors.ustc.edu.cn",
    "https://cr.console.aliyun.com/"
  ]
}
alt

终端命令验证 Dcoker 是否安装成功

进入 cmd 窗口,输入 docker version

alt

注意 docker-compose 在 win 版本的 Docker 中已经默认安装了

我们来测试一下,按下 win + R输入CMD 输入 docker-compose --version

alt
执行 hello world
docker run hello-world
alt

运行成功后就可以在 Docker Desktop 中看到 hello-world

alt

如果觉得我的分享对您有帮助,请关注我。创作不易,您的三连就是对我最大的支持。

alt

Reference

[1]

微软 WSL 官网: https://docs.microsoft.com/zh-cn/windows/wsl/wsl2-kernel

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

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

相关文章

动态规划系列 | 一文搞定区间DP

文章目录 特点石子合并题目描述问题分析程序代码复杂度分析 环形石子合并题目描述问题分析程序代码复杂度分析 能量项链题目描述问题分析程序代码复杂度分析 加分二叉树题目描述问题分析程序代码复杂度分析 凸多边形的划分题目描述问题分析程序代码复杂度分析 棋盘分割题目描述…

STM32内部是怎么工作的

STM32是怎么工作的 1 从孩子他妈说起2 早期计算机的组成2.1 五大元件(1)第一个出场的是电容元件(2)第二个出场的是二极管(3)第三个出场的是电阻元件(4)第四个出场的是电感&#xff0…

现代雷达车载应用——第3章 MIMO雷达技术 3.1节 基于MIMO雷达的虚拟阵列合成

经典著作,值得一读,英文原版下载链接【免费】ModernRadarforAutomotiveApplications资源-CSDN文库。 3 MIMO雷达技术 自20世纪90年代末以来,带有少量天线的汽车雷达已被用于高级驾驶员辅助系统(ADAS)的目的。这些早期的汽车雷达主要提供目标…

Flask学习四:补充

插件 flask-caching 简介 Flask-Caching 是一个 Flask 扩展,旨在为 Flask 应用程序添加缓存功能。缓存是一种提高应用性能的技术,通过将常用数据暂时存储在一个快速访问的位置(如内存或磁盘),从而减少对较慢资源&…

HarmonyOS应用开发实战—开箱即用的活动创建页面【ArkTS】【鸿蒙专栏-33】

一.HarmonyOS应用开发实战—开箱即用的个人主页页面【ArkTS】【鸿蒙专栏-32】 1.1 项目背景 HarmonyOS(鸿蒙操作系统)是华为公司推出的一种分布式操作系统。它被设计为一种全场景、全连接的操作系统,旨在实现在各种设备之间的无缝协同和共享,包括智能手机、平板电脑、智能…

Android排队预约系统(Java+SqLite+ZXing)

自己写的排队预约系统,可改写,添加功能,如管理用户,查询排队人数等功能。(由于是选修课课设,所以写的比较粗糙) 使用方法: 1.使用Android studio导入项目。 2.使用gradle加载build.gradle.kts中的依赖。…

【MySQL工具】pt-online-schema-change 详细介绍

下面文章基于 pt-online-schema-change 3.5.5 版本 简介 pt-online-schema-change - 无锁表修改表结构工具,这里无锁表也不是绝对的,在交互原表与中间表 表名的时候也会有元数据锁,只不过事件很短 语法 pt-online-schema-change [OPTIONS…

计算BMI指数-第11届蓝桥杯选拔赛Python真题精选

[导读]:超平老师的Scratch蓝桥杯真题解读系列在推出之后,受到了广大老师和家长的好评,非常感谢各位的认可和厚爱。作为回馈,超平老师计划推出《Python蓝桥杯真题解析100讲》,这是解读系列的第19讲。 计算BMI指数&…

Milvus实战:构建QA系统及推荐系统

Milvus简介 全民AI的时代已经在趋势之中,各类应用层出不穷,而想要构建一个完善的AI应用/系统,底层存储是不可缺少的一个组件。 与传统数据库或大数据存储不同的是,这种场景下则需要选择向量数据库,是专门用来存储和查…

智能优化算法应用:基于混沌博弈算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于混沌博弈算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于混沌博弈算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.混沌博弈算法4.实验参数设定5.算法结果6.…

新能源汽车厂商狂卷城区NOA的背后

出品 | 何玺 排版 | 叶媛 电气化的“上半场”基本收官后,新能源汽车领域的智能化“下半场”要怎么打? 对此,各大头部车企已经用一年来的实践给出了答案——以NOA(领航辅助驾驶)技术为核心,狂卷智驾体验。…

SQLturning:定位连续值范围起点和终点

在上一篇blog说到,如何去优化查询连续值范围,没看过的朋友,上篇blog链接[在此]。(https://blog.csdn.net/weixin_42575078/article/details/135067645?spm1001.2014.3001.5501) 那么今天来说说怎么将连续的数据合并,然后返回合并…

SpringSecurity入门

前言 Spring Security是一个用于在Java应用程序中提供身份验证和授权功能的强大框架。它构建在Spring框架之上,为开发人员提供了一套灵活且全面的安全性服务,本篇将为大家带来Spring Security的详细介绍及入门 一.安全框架 在学习了解Spring Security之…

vue3动态验证码

首先下载了vant4组件库,element-plus组件库,配置了路由,及接口的封装 element-plus组件库可全局配置:快速开始 | Element Plus vant4组件库,我是按需引入:Vant 4 - A lightweight, customizable Vue UI l…

MeterSphere files 任意文件读取漏洞复现 (CVE-2023-25573)

0x01 产品简介 MeterSphere 是一站式开源持续测试平台, 涵盖测试跟踪、接口测试、UI 测试和性能测试等功能,全面兼容 JMeter、Selenium 等主流开源标准。 0x02 漏洞概述 MeterSphere /api/jmeter/download/files 路径文件存在文件读取漏洞,攻击者可通过该漏洞读取系统重要…

[总线仲裁]

目录 一. 集中仲裁方式1.1 链式查询方式1.2 计数器查询方式1.3 独立请求方式 二. 分布式仲裁方式 总线仲裁是为了解决多个设备争用总线这个问题 \quad 一. 集中仲裁方式 \quad 集中仲裁方式: 就像是霸道总裁来决定谁先获得总线控制权 分布仲裁方式: 商量着谁先获得总线控制权 …

C语言实现链式队列

在C语言中,链式队列是一种使用链表实现的队列,它具有以下特点: 链式队列不需要预先分配固定大小的存储空间,可以动态地分配内存以适应不同大小的队列。链式队列可以无限扩展,因此不会出现队列满的情况。链式队列的入队…

国产670亿参数的DeepSeek:超越Llama2,全面开源

模型概述 DeepSeek,一款国产大型语言模型(LLM),凭借其670亿参数的规模,正引领着人工智能领域的新浪潮。这款模型不仅在多项中英文公开评测榜单上超越了700亿参数的Llama 2,而且在推理、数学和编程能力方面…

JDK各个版本特性讲解-JDK16特性

JDK各个版本特性讲解-JDK16特性 一、JAVA16概述二、语法层面变化1.JEP 397:密封类(第二次预览)2.JEP 394:instanceof 的模式匹配3.JEP 395:记录4_JEP 390:基于值的类的警告 三、API层面变化1.JEP 338&#…

(备战2024)三天吃透Java面试八股文,面试通过率高达90%

什么样的求职者能够获得面试官的青睐?求职者需要准备哪些内容来面对形形色色的面试官?这两份资料是我在几十场面试中被面试官问到的问题,比其他复制粘贴的面试题强一百倍,堪称全网最强(我不太喜欢“全网最强”这样的字…