文章目录

  • 🐳 Docker 入门教程(一):从概念到第一个容器
    • 1. Docker 是什么?
    • 2. Docker 的核心概念
    • 3. 安装 Docker
    • 4. 运行你的第一个 Docker 容器

🐳 Docker 入门教程(一):从概念到第一个容器

Docker 是现代开发和运维中的重要工具之一,它简化了软件交付流程、提升了部署效率。本文将带你从 0 开始认识 Docker,并亲手运行第一个容器。


1. Docker 是什么?

Docker 是一个开源容器化平台,用于构建、运行和管理容器(Container)。容器是一种轻量、可移植、自包含的软件打包方式,它将代码及其依赖一起封装,使软件“在任何地方运行”变得可能。

容器 vs 虚拟机

特性容器(Docker)虚拟机(VM)
启动速度秒级分钟级
占用资源
是否需要完整操作系统
可移植性较低
使用场景微服务、CI/CD、快速部署全系统隔离

2. Docker 的核心概念

理解 Docker 的几个核心概念是掌握它的第一步:

镜像(Image)
镜像是一个只读的模板,用于创建容器。你可以将它理解为系统快照,比如一个包含了 Python 解释器的 Ubuntu 环境。

容器(Container)
容器是镜像的运行实例。它是一个运行中的轻量进程,彼此隔离,启动快,可销毁可重建。

Dockerfile
Dockerfile 是构建镜像的脚本文件,包含了系统安装、环境配置、依赖安装等指令。

仓库(Registry)
镜像存储的地方,最常见的是 Docker Hub,你也可以搭建自己的私有 Registry。


3. 安装 Docker

Docker 支持主流操作系统,安装步骤略有不同:

🪟 Windows/macOS

  • 推荐使用 Docker Desktop
  • 安装后自动包含 Docker CLI、Compose、Kubernetes(可选)

🐧 Linux(以 Ubuntu 为例)

# 卸载旧版本
sudo apt remove docker docker-engine docker.io containerd runc# 更新软件包
sudo apt update# 安装依赖
sudo apt install ca-certificates curl gnupg# 添加 Docker GPG 密钥
curl -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# 安装 Docker 引擎
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io# 启动并设置开机启动
sudo systemctl start docker
sudo systemctl enable docker

测试是否安装成功

docker version

4. 运行你的第一个 Docker 容器

现在我们来运行第一个容器:

Hello World 示例

docker run hello-world

解释:

  • docker run: 运行一个容器
  • hello-world: Docker 官方提供的测试镜像

这条命令会做以下事情:

  1. 本地查找是否已有 hello-world 镜像
  2. 如果没有,就从 Docker Hub 下载
  3. 创建并运行容器,输出一段欢迎信息后自动退出

输出示例:

Hello from Docker!
This message shows that your installation appears to be working correctly.
...

常见命令预览

命令说明
docker ps查看运行中的容器
docker ps -a查看所有容器(包括已退出)
docker images查看本地镜像
docker rm [容器ID]删除容器
docker rmi [镜像ID]删除镜像

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

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

相关文章

如何在 Vue 应用中嵌入 ONLYOFFICE 编辑器

以下是仅包含 纯前端集成 ONLYOFFICE 文档编辑器到 Vue.js 项目 的完整代码与说明,无需重新创建项目,可直接集成到现有 Vue 项目中: Vue.js 集成 ONLYOFFICE 文档编辑器(纯前端实现) 后端需要部署到服务器&#xff0c…

Cursor 1.0 炸裂功能:在后台运行多个Agent,释放双手

Cursor 1.0 版本更新了用于代码审查的 BugBot、对内存、一键式 MCP 设置、Jupyter 支持以及 Background Agent 的正式发布。 今天这篇文章主要介绍 Background Agent 的使用教程。 文章目录 1. Background Agent 的基本概念2. 后台 Agent 的使用方法3. 让后台 Agent 创造一个简…

MLX LM - 在Apple芯片上运行大语言模型的Python工具包

文章目录 一、关于MLX LM1、项目概览2、相关链接资源3、功能特性 二、安装配置三、使用指南1、快速开始2、Python API3、量化模型,上传HF4、流式生成采样 5、命令行6、长提示词与生成 四、支持模型大模型 一、关于MLX LM 1、项目概览 MLX LM是一个Python工具包&am…

【git学习】学习目标及课程安排

Git 是一款非常强大的版本控制工具,掌握它对编程和团队协作都有巨大帮助。 🎯学习目标(适合个人与团队使用) 理解 Git 和版本控制的基本概念 熟练使用 Git 进行代码提交、分支管理、合并与冲突解决 掌握远程仓库协作流程&#x…

HDFS(Hadoop分布式文件系统)总结

文章目录 一、HDFS概述1. 定义与定位2. 核心特点 二、HDFS架构核心组件1. NameNode(名称节点)2. DataNode(数据节点)3. Client(客户端)4. Secondary NameNode(辅助名称节点) 三、数据…

破局与融合:破解开发与供应链安全的业务场景难题

数字化转型下的安全新范式与融合挑战 在数字化浪潮的席卷下,企业正全面拥抱云计算、微服务、容器化和开源技术。这种转型在极大提升业务敏捷性的同时,也带来了全新的安全挑战:传统网络边界消融,攻击面急剧扩大,“开发安…

Centos7 安装部署Git、创建仓库

概述 Git版本控制,大家都不会陌生,实践诉求是从零部署本地Git服务,在执行推送远程分支代码时,用Git服务自带的hooks触发同步代码文件,从而做到自动同步代码,实现自动更新,操作环境centos7.9,Gi…

【Redis原理】Redis数据结构底层原理

目录 一、SDS 二、IntSet(整数集合) 三、双向链表 四、压缩列表 五、字典(哈希表) 七、跳表 八、QuickList 九、RedisObject 一、SDS Redis 是用 C语言实现的,但是它没有直接使用C 语言的 char* 字符数组来实现…

C#.NET HttpClient 使用教程

简介 HttpClient 是 .NET 中用于发送 HTTP 请求和接收 HTTP 响应的现代化 API,它取代了过时的 WebClient 和 HttpWebRequest 类。 HttpClient 是 .NET Framework 4.5 和 .NET Core/.NET 5 中提供的、基于消息处理管道(message handler pipeline&#…

Nginx常用安全配置指南

Nginx是一个轻量级的,高性能的Web服务器以及反向代理和邮箱代理服务器。它运行在UNIX、GNU、linux、BSD、Mac OS X、Solaris和Windows各种版本。根据调查统计数据显示,当前全球超过6%的网站使用Nginx Web服务器来管理Web网站应用。 为了保证基于Nginx的…

【UniApp 日期选择器实现与样式优化实践】

UniApp 日期选择器实现与样式优化实践 发布时间:2025/6/26 前言 在移动端应用开发中,日期选择器是一个常见且重要的交互组件。本文将分享我们在 UniApp 项目中实现自定义日期选择器的经验,特别是在样式优化过程中遇到的问题及解决方案。通过…

推荐系统的视频特征-视频关键帧特征提取与向量生成

📌 总体流程概览 视频文件 (.mp4)↓ 关键帧抽取(FFmpeg / SceneDetect)↓ 帧图像(.jpg)↓ 图像模型提取特征(CLIP / CNN / ViT)↓ 多帧聚合成视频向量(均值池化等)↓ 向…

Apache SeaTunnel Flink引擎执行流程源码分析

目录 1. 任务启动入口 2. 任务执行命令类:FlinkTaskExecuteCommand 3. FlinkExecution的创建与初始化 3.1 核心组件初始化 3.2 关键对象说明 4. 任务执行:FlinkExecution.execute() 5. Source处理流程 5.1 插件初始化 5.2 数据流生成 6. Transform处理流程 6.1 插…

Vue 3 + Element Plus 实现「动态表单组件」详解教程

✅ Vue 3 Element Plus 实现「动态表单组件」详解教程 📌 适用场景:表单字段根据配置动态生成,支持校验、提交、自定义组件、复杂布局等。 🧩 技术栈:Vue 3 TypeScript Element Plus 🔧 核心特性&#x…

本地部署开源时间跟踪工具 Kimai 并实现外部访问( Windows 版本)

Kimai 是一款开源的时间跟踪工具,它易于使用,并提供了强大的报告功能,在个人和团队记录工作时间、项目时间和活动时间等之后可以帮助用户了解他们是如何花费时间的,从而提高生产力和效率。本文将详细介绍如何在 Windows 系统本地部…

系统分析师案例知识点

目录 1 必做题1.1 状态机图1.2 活动图1.3 统一软件开发过程RUP 2 需求分析2.1 数据流图DFD2.2 ER图2.3 状态转换图STD2.4 数据字典2.5 流程图2.6 需求评审2.7 设计类2.8 FAST分析2.9 常见的关系类 3 嵌入式3.1 容器技术3.2 虚拟机技术3.3 虚拟机和容器的不同点 4 数据库4.1 NoS…

多相机人脸扫描设备如何助力高效打造数字教育孪生体?

在教育数字化转型浪潮中,数字孪生体作为现实教育场景的虚拟映射,正成为智慧教育发展的关键技术支点。传统教育模式面临师资资源分布不均、个性化教学难以覆盖、跨时空教学场景受限等痛点,而数字孪生体通过构建高仿真虚拟教育主体(…

用 EXCEL/WPS 实现聚类分析:赋能智能客服场景的最佳实践

聚类分析作为无监督学习的核心技术,能在客服数据中发现隐藏的用户群体或问题模式。尽管 Excel/WPS 并非专业统计软件,但巧妙利用其内置功能,也能实现基础的聚类分析,为中小型客服团队提供快速洞察。以下介绍具体方法及智能客服场景…

基于定制开发开源AI智能名片S2B2C商城小程序源码的H5游戏开发模式创新研究

摘要 本文以定制开发开源AI智能名片S2B2C商城小程序源码为技术底座,探讨其在H5游戏开发中的创新应用。通过分析原生开发与第三方工具两种传统开发模式的局限性,提出将AI智能名片的多模态内容生成能力、S2B2C商城的生态协同机制与H5游戏开发深度融合的解…

vue3+ELInput无法输入的问题

vue3ElInput无法输入的问题 开篇 写业务的时候发现,因为想偷懒嘛,直接就在想在外部去定义一个变量,然后写个弹窗里(tsx)的el-input,而不是又去写个vue页面,但发现就输入不了了,而且…