news 2026/6/18 20:05:26

Docker 基础篇

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Docker 基础篇

下面是一份**「Docker 基础篇」系统入门教程,适合初学者 / 运维 / 后端 / 毕设环境部署**,从概念到实操,一篇就能上手。


Docker 基础篇(从 0 到会用)

一、Docker 是什么?

Docker是一种容器化技术,可以把应用程序 + 运行环境 + 依赖一次性打包成一个容器(Container),做到:

一次构建,到处运行

解决了什么问题?

  • 环境不一致(“我电脑能跑,你电脑跑不了”)
  • 部署复杂、配置繁琐
  • 应用迁移成本高

二、Docker 的核心概念

1️⃣ 镜像(Image)

  • 相当于程序安装包
  • 只读模板
  • 用于创建容器

👉 类比:操作系统 ISO / 软件安装包


2️⃣ 容器(Container)

  • 镜像的运行实例
  • 轻量级、可启动/停止
  • 相互隔离

👉 类比:正在运行的软件


3️⃣ 仓库(Registry)

  • 存放镜像的地方

  • 常见:

    • Docker Hub(官方)
    • 阿里云镜像仓库

三、Docker 的工作原理(简化)

Dockerfile → Image → Container
  • Dockerfile:构建规则
  • Image:构建结果
  • Container:运行实例

四、Docker 安装(常见环境)

Linux(CentOS / Ubuntu)

# 安装curl-fsSLhttps://get.docker.com|bash# 启动systemctl startdocker# 开机自启systemctlenabledocker# 查看版本docker-v

Windows / macOS

  • 安装Docker Desktop
  • 官方地址:https://www.docker.com/products/docker-desktop

五、Docker 常用命令(必会)

1️⃣ 镜像相关

dockerimages# 查看镜像dockerpull nginx# 拉取镜像dockerrmi 镜像ID# 删除镜像

2️⃣ 容器相关

dockerps# 查看运行中容器dockerps-a# 查看所有容器dockerrun nginx# 启动容器dockerstop 容器ID# 停止容器dockerrm容器ID# 删除容器

3️⃣ 常用 run 参数(重点)

dockerrun-d\-p80:80\--namemynginx\nginx
参数说明
-d后台运行
-p端口映射
--name容器名称

六、数据卷(Volume)

为什么需要数据卷?

容器删除后:
❌ 数据丢失

解决方案:数据持久化

dockerrun-d\-v/data/nginx:/usr/share/nginx/html\nginx

👉宿主机目录 ↔ 容器目录


七、Dockerfile 基础

示例:构建一个 Java 项目镜像

FROM openjdk:8 COPY app.jar /app.jar CMD ["java", "-jar", "/app.jar"]

构建并运行

dockerbuild-tmyapp.dockerrun-d-p8080:8080 myapp

八、Docker 网络(入门)

  • 默认 bridge 网络
  • 容器之间可通过容器名通信
dockernetworklsdockernetwork create mynetdockerrun--networkmynet...

九、Docker vs 虚拟机

对比Docker虚拟机
启动速度秒级分钟级
资源占用
隔离性进程级系统级
适合场景微服务完整系统

十、Docker 适用场景

✅ 微服务部署
✅ 项目快速搭建环境
✅ CI/CD 持续集成
✅ 毕设 / 实验环境统一
✅ 本地开发环境隔离


十一、新手常见坑

❌ 端口没映射,访问不了
❌ 容器一启动就退出(CMD 写错)
❌ 镜像太大(未清理依赖)
❌ 数据未持久化


十二、学习路线推荐

1️⃣ 会用docker run
2️⃣ 理解 Image / Container
3️⃣ 掌握 Dockerfile
4️⃣ 学会 Volume / Network
5️⃣ 入门 Docker Compose(进阶)


如果你需要👇

  • Docker 命令速查表(PDF)
  • Docker + Spring Boot / Python / Node 示例
  • Docker Compose 入门篇
  • 毕设 / 项目部署完整流程

直接告诉我你的使用场景,我可以按你需求给你定制教程 🚀

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 16:50:28

开源福利!YOLOv8预装镜像免费提供,支持HuggingFace同步下载

YOLOv8预装镜像免费开源,HuggingFace一键下载,开发效率翻倍 在智能监控、自动驾驶和工业质检等领域,目标检测早已不再是实验室里的概念,而是实实在在落地的核心技术。但对大多数开发者来说,真正上手时却常常被环境配置…

作者头像 李华
网站建设 2026/6/18 19:46:39

基于YOLOv8的目标检测项目如何提交Git Commit更规范?

基于YOLOv8的目标检测项目如何提交Git Commit更规范? 在深度学习项目的开发过程中,我们常常把注意力集中在模型精度、训练速度和部署效率上。然而,当一个基于 YOLOv8 的目标检测项目从个人实验走向团队协作或产品化落地时,代码的可…

作者头像 李华
网站建设 2026/6/18 9:24:57

【PHP 8.7性能飞跃揭秘】:实测新特性带来的3倍执行效率提升

第一章:PHP 8.7性能飞跃的背景与意义PHP 8.7作为PHP语言演进中的关键版本,标志着在执行效率、内存管理与开发者体验上的重大突破。该版本延续了PHP 8系列引入的JIT(即时编译)架构优化,并在此基础上深化对类型推断和操作…

作者头像 李华
网站建设 2026/6/15 17:29:43

YOLOv8模型灰度指标基线建立:历史数据对比

YOLOv8模型灰度指标基线建立:历史数据对比 在现代AI系统持续迭代的背景下,一个看似微小的模型版本更新,可能引发线上服务的连锁反应——精度下降、误检增多、推理延迟上升。尤其是在安防监控、工业质检等高可靠性场景中,任何未经充…

作者头像 李华
网站建设 2026/6/15 16:28:27

为什么Span能大幅提升性能?深入IL揭示其底层实现原理

第一章&#xff1a;为什么Span能大幅提升性能&#xff1f;深入IL揭示其底层实现原理在现代高性能 .NET 应用中&#xff0c;Span<T> 成为处理内存密集型操作的核心工具。它允许安全、高效地访问栈、堆或本机内存中的连续数据块&#xff0c;而无需复制。这种零拷贝特性显著…

作者头像 李华