1. Docker的介绍和安装

文章目录

    • 1. Docker介绍
      • 核心概念
      • 核心优势
      • 与虚拟机的区别
      • 一句话总结
    • 2. Docker的安装
      • Windows 10/11 安装 Docker Desktop(推荐 WSL2 方式)
      • Linux(以 Ubuntu / Debian 系为例)

Docker 是一个开源的容器化平台,它允许开发者将应用程序及其依赖项打包到一个轻量级、可移植的“容器”中,从而在任何支持 Docker 的环境中一致地运行。


1. Docker介绍

核心概念

术语说明
容器(Container)一个轻量级的、独立的“软件包”,包含应用及其运行所需的所有依赖(库、配置等)。
镜像(Image)容器的“模板”,定义了容器启动时的文件系统和配置。镜像不可变,容器是镜像的运行实例。
Dockerfile一个文本文件,描述如何构建镜像(如安装依赖、复制代码、暴露端口等)。
Docker Hub公共的镜像仓库,可下载常用镜像(如 Nginx、MySQL)。

核心优势

  1. 环境一致性
    开发、测试、生产环境完全一致,避免“在我电脑上能跑”的问题。

  2. 轻量级
    容器共享主机 OS 内核,无需虚拟化硬件,比虚拟机更快、更省资源。

  3. 可移植性
    一次打包,可运行于任何支持 Docker 的系统(Linux/Windows/macOS)。

  4. 隔离性
    每个容器独立运行,互不干扰,避免依赖冲突。

  5. 快速部署
    秒级启动容器,适合弹性扩缩容(如微服务架构)。


与虚拟机的区别

特性Docker 容器传统虚拟机
虚拟化级别操作系统级(共享内核)硬件级(完整 OS)
启动速度秒级分钟级
资源占用低(MB级)高(GB级)
性能接近原生有额外虚拟化开销

一句话总结

Docker 就像“软件的集装箱”,把应用和依赖打包成标准化单元,实现“一次构建,到处运行”。


2. Docker的安装

Windows 10/11 安装 Docker Desktop(推荐 WSL2 方式)

  1. 前置条件
    • Windows 10 22H2 build 19045+ 或 Windows 11 任意正式版
  2. 一键启用 WSL2 并安装 Ubuntu 子系统
    PowerShell(管理员) 中执行:
    wsl --install -d Ubuntu-22.04
    
    装完重启系统。
  3. 安装 Docker Desktop
    • 官网下载 Docker Desktop Installer.exe
    • 双击安装 → 勾选 Use WSL 2 → 完成后在开始菜单启动 “Docker Desktop”
  4. 验证
  • powershell中验证
    docker version
    wsl -d docker-desktop
    
    状态栏出现小鲸鱼图标即成功。

在这里插入图片描述


Linux(以 Ubuntu / Debian 系为例)

  1. 官方仓库安装
# 1. 卸载旧版本
sudo apt purge -y docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-scan-plugin# 自动清理未使用依赖
sudo apt autoremove -y# 2. 安装依赖
sudo apt update
sudo apt install -y ca-certificates curl gnupg lsb-release# 3. 添加官方 GPG 密钥 & 仓库
sudo mkdir -p /etc/apt/keyringscurl -fsSL https://download.docker.com/linux/ubuntu/gpg | \sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \"deb [arch=$(dpkg --print-architecture) \signed-by=/etc/apt/keyrings/docker.gpg] \https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | \sudo tee /etc/apt/sources.list.d/docker.list > /dev/null# 4. 安装 Docker Engine + CLI + Compose 插件(2025-08 最新)
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io \docker-buildx-plugin docker-compose-plugin# 5. 启动并设为开机自启
sudo systemctl enable --now docker
  1. 一键脚本(所有 Linux 通用)
curl -fsSL get.docker.com -o get-docker.sh
sudo sh get-docker.sh --mirror Aliyun
  1. 验证
docker version          # 查看客户端/服务端版本

  1. 国内镜像加速
  • 配置镜像加速器
sudo mkdir -p /etc/docker
sudo nano /etc/docker/daemon.json
{"registry-mirrors": ["https://docker.xuanyuan.me/","https://docker.m.daocloud.io/","https://docker-0.unsee.tech/","https://docker.1ms.run/"]
}
sudo systemctl daemon-reload
sudo systemctl restart docker
  • 检查是否配置成功
docker info

在这里插入图片描述

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

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

相关文章

fastdds.ignore_local_endpoints 属性

Fast DDS 的 fastdds.ignore_local_endpoints 属性用于控制同一 DomainParticipant 下的本地端点(即 DataWriter 和 DataReader)是否自动匹配。以下是对该功能的详细解释,并翻译为中文,结合其上下文、实现原理和使用场景&#xff…

华清远见25072班C语言学习day11

重点内容:函数:定义:返回值类型 函数名(参数列表) { //函数体 }函数的参数列表中可以有多个数据返回值:如果函数没有返回值可以写成void 返回值的作用,函数的结果用来返回给主调函数的,如果主调函数处不需要函数的结果…

视觉语言导航(7)——VLN的数据集和评估方法 3.2

这是课上做的笔记,因此很多记得比较急,之后会逐步完善,每节课的逻辑流程写在大纲部分。成功率(SR)导航误差(NE)成功加权路径长度(SucceedPLength)轨迹长度(TL)先知成功率(OS&#xf…

ElasticSearch不同环境同步索引数据

目的:在生产环境把一个索引的数据同步到测试环境中1、在生产环境导出json数据curl -u "adims_user:xkR%cHwR5I9g" -X GET "http://172.18.251.132:9200/unify_info_mb_sp_aggregatetb_0004/_search?scroll1m" -H Content-Type: applicatio…

咨询进阶——解读咨询顾问技能模型

适应人群为咨询行业从业者、咨询团队管理者、想提升咨询技能的职场人士及咨询公司培训人员。主要内容围绕咨询顾问技能模型展开,核心包括五大核心能力(解决问题能力,涵盖洞察力、分析技巧、问题构建等,从识别问题实质到构建新分析方法分层次阐述;管理能力,涉及管理他人与…

2025年- H98-Lc206--51.N皇后(回溯)--Java版

1.题目描述2.思路 二维数组集合 (1)N皇后规则 1)不能同行(同一行不能出现2个皇后) 2)不能同列(同一列不能出现2个皇后) 3)不能说45度或135度(斜对角线不能出现2个皇后&am…

5G + AI + 云:电信技术重塑游戏生态与未来体验

在数字娱乐蓬勃发展的今天,游戏产业已然成为科技创新的前沿阵地。电信网络也经历了一场深刻的蜕变,从最初仅仅是 “内容传输管道”,摇身一变成为与游戏深度绑定的技术共生体。5G 不断刷新着体验的边界,AI 彻底颠覆传统的创作模式&…

【React Hooks】封装的艺术:如何编写高质量的 React 自-定义 Hooks

【React Hooks】封装的艺术:如何编写高质量的 React 自-定义 Hooks 所属专栏: 《前端小技巧集合:让你的代码更优雅高效》 上一篇: 【React State】告别 useState 滥用:何时应该选择 useReducer 作者: 码力…

华为GaussDB的前世今生:国产数据库崛起之路

在数据库领域,华为GaussDB已成为一颗耀眼的明星,为企业核心业务数字化转型提供坚实的数据底座。但这并非一蹴而就,其背后是长达二十余年的技术沉淀、战略投入与持续创新。本文将深入探寻华为GaussDB的历史沿革与核心技术细节,展现…

数据结构初阶(16)排序算法——归并排序

2.4 归并排序 归并排序(Merge Sort)是基于分治思想的经典排序算法。核心逻辑: 分而治之——把复杂排序问题拆分成简单子问题解决,再合并子问题的结果。联系链表的合并:两个有序链表l1、l2创建新链表l3(带头…

MATLAB实现匈牙利算法求解二分图最大匹配

MATLAB实现匈牙利算法求解二分图最大匹配 匈牙利算法(也称为Kuhn-Munkres算法)是解决二分图最大匹配问题的经典算法。 代码 function [matching, max_match] hungarian_algorithm(adjMatrix)% HUNGARIAN_ALGORITHM 实现匈牙利算法求解二分图最大匹配% 输…

自定义table

更好<!DOCTYPE html> <html lang"zh-CN"><head><meta charset"utf-8"><title>数据表格</title><style>* {margin: 0;padding: 0;box-sizing: border-box;font-size: 14px;}html,body {width: 100%;height: 100%…

面向R语言用户的Highcharts

如果您喜欢使用 R 进行数据科学创建交互式数据可视化&#xff0c;那么请你收藏。今天&#xff0c;我们将使用折线图、柱状图和散点图来可视化资产回报。对于我们的数据&#xff0c;我们将使用以下 5 只 ETF 的 5 年月回报率。 SPY (S&P500 fund)EFA (a non-US equities fun…

【测试工具】OnDo SIP Server--轻松搭建一个语音通话服务器

前言 Ondo SIP Server 是一款基于 SIP(Session Initiation Protocol)协议的服务器软件&#xff0c;主要用于实现 VoIP(Voice over IP)通信&#xff0c;支持语音通话、视频会议等多媒体会话管理&#xff0c;非常适合学习和测试VoIP的基本功能。本文介绍Ondo SIP Server的安装、…

疯狂星期四文案网第42天运营日记

网站运营第42天&#xff0c;点击观站&#xff1a; 疯狂星期四 crazy-thursday.com 全网最全的疯狂星期四文案网站 运营报告 今日访问量 今日搜索引擎收录情况 网站优化点 优化一些发现的seo错误 增加颜文字栏目 增加了一些tag

使用空模型实例调用辅助函数,确定在量化过程中哪些层会被跳过(43)

在Facebook的OPT-350M中,模型的头部(lm_head)与解码器的嵌入标记层(decoder.embed_tokens)共享其权重。 print(model.model.decoder.embed_tokens) print(model.lm_head)输出结果 Embedding(50272, 512

从0-1使用Fastmcp开发一个MCP服务,并部署到阿里云百炼 -持续更新中

目的&#xff1a; 在本地使用fastmcp开发一个mcp,然后注册到阿里云的百炼里面。实现在百炼里面创建智能体的时候直接引用自己开发的MCP 已完成&#xff1a;本地环境安装 待完成&#xff1a; 1.根据需求实现一个MCP中可以调用某应用的多个API即 mcp.tool()、mcp.prompt()、接入大…

设计模式之汇总

设计模式 零、设计原则 0.1 单一职责 0.2 接口隔离 0.3 开闭原则 0.4 依赖倒置0.5 迪米特法则&#xff0c;最小知道原则用户关机 只和朋友通信 朋友条件&#xff1a; 1&#xff09;当前对象本身&#xff08;this&#xff09; 2&#xff09;以参量形式传入到当前对象方法中的对象…

第6章 Decoder与Encoder核心组件

前言 Netty从底层Java通道读取ByteBuf二进制数据&#xff0c;传入Netty通道的流水线&#xff0c;随后开始入站处理。在入站处理过程中&#xff0c;需要将ByteBuf二进制类型解码成Java POJO对象。这个解码过程可以通过Netty的Decoder&#xff08;解码器&#xff09;去完成。 在…

[已解决]当启动 Spring Boot 应用时出现 Using generated security password xxx提示

当启动 Spring Boot 应用时出现 Using generated security password xxx提示当启动 Spring Boot 应用时出现 Using generated security password xxx提示&#xff0c;这是 Spring Security 自动配置的默认行为&#xff0c;通常发生在你​​未自定义安全配置​​但引入了 Spring…