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

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

相关推荐
Java王小怪18 小时前
Docker环境Redis没挂载保存数据
运维·docker·容器
你住过的屋檐18 小时前
【Nginx】linux上安装nginx
linux·运维·nginx
AKCJDJ20 小时前
k8s的管理及控制器管理
云原生·容器·kubernetes
灰阳阳20 小时前
Docker-数据卷命令解析
java·docker·eureka
晓晓_za89866820 小时前
开源 GEO 优化源码二次开发:贴牌改造与业务模块扩展实践
java·运维·服务器·开发语言·性能优化·开源
SCandL15220 小时前
k8s service
linux·容器·kubernetes
云计算DevOps-韩老师21 小时前
【MySQL运维DBA】【SQL基础系列002篇】
运维·mysql·dba
DBA大董21 小时前
TDengine3.0 DBA常用的运维命令和SQL2
运维·数据库·时序数据库·dba·tdengine
会飞的土拨鼠呀21 小时前
Linux的存储使用率应该如何计算
linux·运维·服务器
zhangfeng113321 小时前
AMD Instinct MI50(gfx906)上为 Qwen 系列模型优化并可用的 vLLM 相关仓库、Docker 镜像与实践指南。
人工智能·docker·ai编程·qwen·算子开发·vllm·mi50