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

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

相关推荐
小龙在慢慢变强..1 小时前
目录结构(FHS 标准)
linux·运维·服务器
刘延林.1 小时前
win11系统下通过 WSL2 安装Ubuntu 24.04 使用RTX 5080 GPU
linux·运维·ubuntu
星恒讯工业路由器1 小时前
星恒讯工业生产自动化解决方案
运维·物联网·自动化·智能路由器·信息与通信
a8a3022 小时前
Laravel9.x新特性全解析
运维·spring boot·nginx
beyond阿亮2 小时前
IEC104 Client Simulator - IEC104 主站/客户端模拟器 仿真器免费使用教程
运维·服务器·网络
郑寿昌2 小时前
GPU显存HPA:K8s智能扩缩实战
云原生·容器·kubernetes
Agent产品评测局2 小时前
生产排期与MES/ERP系统打通,实操方法详解:2026企业级智能体与超自动化集成实战指南
运维·人工智能·ai·chatgpt·自动化
C Y D2 小时前
只启动wsl
docker
CodeOfCC3 小时前
Linux 嵌入式arm64安装openclaw
linux·运维·服务器
绿虫光伏运维3 小时前
一文理清光伏运维的内容、常见问题与重要措施
大数据·运维·光伏业务