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

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

相关推荐
Brilliantwxx19 分钟前
【Linux】自动化构建工具 make 与 Makefile
linux·运维·服务器·开发语言·自动化
汉知宝科技27 分钟前
专利管理软件的监控功能:从专利公开到情报获取
大数据·运维
明王明王28 分钟前
从零搭建一个单节点 K8S 可观测实验室(六):安装 Tempo + OpenTelemetry,构建链路追踪链路
云原生·容器·kubernetes
wsad053239 分钟前
Docker 网络故障排查记:当 bridge 模式失效时,host 模式如何救场
运维·docker·容器
云边云科技_云网融合44 分钟前
工业制造多厂区、供应链远程数据传输网络如何优化?
运维·服务器·网络
张毅2004-10-101 小时前
docker详解:安装docker,docker架构,docker镜像、容器、网络、存储,容器监控,容器日志,综合实验
linux·运维·docker·云原生·云计算
笑一下蒜了.1 小时前
Linux 存储多路径访问手册|multipath.conf 各配置段详解
android·linux·运维
营养充电站1 小时前
C++23 新特性在 CLion 中的实战体验
macos·docker·jupyter·正则表达式
文优1 小时前
Linux 常用命令速查手册(工作版)
linux·运维·docker
小叮当爱咖啡1 小时前
Day1.环境+自动化脚本
运维·自动化