Docker 核心知识点

一、Docker 是什么

Docker = 把应用 + 依赖 + 环境一起打包,放到一个轻量、隔离、可移植的容器里,在哪都能跑。

二、3 个核心概念

  1. 镜像(Image)
  • 只读模板 - 相当于「安装包」「系统盘」

  • 例:`nginx`、`centos`、`tomcat`

  1. 容器(Container)
  • 镜像运行后的实例

  • 相当于虚拟机里跑的系统

  • 可启动、停止、删除

  1. 仓库(Registry)
  • 存放镜像的地方

  • 官方:Docker Hub

  • 私有:Harbor

三、镜像最常用命令

docker images # 查看本地镜像

docker search 名字 # 搜索镜像

docker pull 名字:tag # 拉取镜像(不写tag默认latest)

docker rmi 镜像ID # 删除镜像

docker rmi -f 镜像ID # 强制删

四、容器最常用命令

  1. 查看容器

docker ps # 看运行中的

docker ps -a # 看所有(包括停止的)

  1. 创建并启动容器

docker run 选项 镜像 命令

最常用选项:

  • `-d` 后台运行 - `

-p 主机端口:容器端口` 端口映射

  • `--name` 给容器起名字

  • `-v 主机目录:容器目录` 挂载目录(持久化)

  • `-e` 设置环境变量

示例:docker run -d -p 80:80 --name mynginx nginx

  1. 进入容器

docker exec -it 容器ID /bin/bash

  1. 停止/启动/删除

docker stop 容器ID

docker start 容器ID

docker rm 容器ID # 删除已停止容器

docker rm -f 容器ID # 强制删

五、Docker 三大核心技术

  1. namespace → 资源隔离(PID、网络、用户、文件等)

  2. cgroups → 资源限制(CPU、内存、磁盘)

  3. UnionFS → 镜像分层存储(镜像轻、快、复用)

六、镜像分层

  • 镜像一层一层叠加

  • 下层只读,上层可写

  • 相同层可以共享,节省空间

七、Dockerfile 核心指令

dockerfile FROM # 基础镜像

MAINTAINER # 作者 RUN

构建时执行命令

COPY # 复制文件

ADD # 复制(支持解压/URL)

WORKDIR # 设置工作目录 EXPOSE

暴露端口 CMD # 容器启动命令(只有最后一个生效)

ENTRYPOINT # 启动命令(不会被覆盖)

八、容器数据持久化

容器删了数据就没了 → 必须用 -v 挂载

-v /主机目录:/容器内目录

九、Docker 网络

  • bridge:默认,独立网络,端口映射访问

  • host:和主机共享网络

  • none:无网络

十、Docker 与虚拟机区别

  • Docker 轻量、秒启动、共享内核

  • VM 重量级、启动慢、有独立OS

十一、一句话串起整个Docker

拉镜像 → 跑容器 → 进容器 → 改配置 → 挂载数据 → 建镜像 → 推仓库

相关推荐
开发者联盟league7 分钟前
使用k8s安装Sonarqube
云原生·容器·kubernetes
hj28625110 分钟前
Linux 网络服务综合笔记(概念 + 命令 + 实操案例)2
linux·运维·网络
what_201811 分钟前
Linux 磁盘 (查看、划分、inode)
linux·运维·服务器
ManageEngine卓豪14 分钟前
从性能故障到安全风险,现代企业数字化转型下的网络丢包运维管控指南
运维·网络安全·网络故障·网络丢包
ai产品老杨1 小时前
架构师深剖:基于 Docker 容器化与边缘计算的 AI 视频管理平台——支持 GB28181/RTSP 多协议接入与全源码交付
人工智能·docker·边缘计算
Urbano1 小时前
工装 T 恤、Polo 衫全生产工序、痛点解析及多品牌自动化设备应用方案
运维·自动化
AOwhisky2 小时前
Redis 学习笔记(第一期):概述、安装配置与核心理论
运维·数据库·redis·笔记·学习·云计算
AOwhisky2 小时前
Redis 学习笔记(第四期):高可用与集群(哨兵 + Cluster + 容器化)
linux·运维·数据库·redis·笔记·学习·缓存
C语言小火车3 小时前
嵌入式Linux应用开发技术栈完全指南
linux·运维·服务器
qq_185198693 小时前
Docker 历史版本
docker