一、基础部分(基本使用)

1. Docker核心概念

  • 镜像(Image)、容器(Container)、仓库(Repository)的概念
  • Docker与虚拟机的区别(轻量级、资源共享、启动速度等)

3. 基本命令操作

  • 镜像管理:
    • docker pulldocker imagesdocker rmidocker build(Dockerfile)
    • docker tagdocker pushdocker savedocker load
  • 容器管理:
    • docker run(各种参数:-d, -p, -v, --name, --network, --restart等)
    • docker psdocker stopdocker startdocker restartdocker rm
    • docker logsdocker execdocker inspect
  • 其他常用命令:
    • docker infodocker versiondocker system df(查看磁盘使用)

架构设计

Docker采用了C/S(客户端-服务器)架构。主要包括以下几个组件:

  1. Docker客户端(Client)
    • 用户通过Docker客户端与Docker交互。客户端发送命令给Docker守护进程(Docker Daemon),然后守护进程执行命令。
    • 客户端可以运行在宿主机上,也可以远程连接守护进程。
  2. Docker守护进程(Docker Daemon)
    • Docker Daemon是运行在主机上的后台进程,负责管理Docker对象(镜像、容器、网络、存储卷等)。
    • 监听来自客户端的请求(通过REST API)并处理。
  3. Docker Registries
    • 用于存储Docker镜像。Docker Hub是公共的Registry,用户也可以建立私有的Registry。
  4. Docker对象
    • 镜像(Images):只读模板。
    • 容器(Containers):运行时的镜像实例。
    • 网络(Networks):Docker提供了多种网络模式连接容器。
    • 数据卷(Volumes):用于持久化存储容器数据,避免容器停止后数据丢失。

基础概念

  1. 镜像(Image)
    • Docker镜像是用于创建Docker容器的模板。它类似于虚拟机镜像,但更轻量级。
    • 镜像采用分层结构,每一层是只读的,并且可以被多个容器共享。最上层是容器层,可写。
    • 例如:一个Ubuntu镜像,一个带有Nginx服务的Web应用镜像。
  2. 容器(Container)
    • 容器是镜像的运行实例。当你运行一个镜像时,你就创建了一个容器。
    • 容器可以被启动、停止、删除等,每个容器都是独立和安全的沙箱。
    • 可以把容器看作是一个轻量级的Linux运行环境。
  3. 仓库(Repository)
    • 仓库是集中存放镜像的地方,分为公共仓库和私有仓库。
    • Docker官方仓库是Docker Hub,你也可以搭建私有仓库(如Harbor)。
    • 仓库中有多个镜像,每个镜像可以有多个标签(Tag)。
  4. Registry
    • 仓库注册服务器(Registry)是存放仓库的地方。Docker Hub就是官方的Registry。
  5. Dockerfile
    • Dockerfile是一个文本文件,包含了一系列命令和指令,用于自动化构建镜像。
    • 常用的指令包括:FROM(基础镜像)、RUN(执行命令)、COPY(复制文件)、EXPOSE(暴露端口)、CMD(容器启动命令)等。

使用镜像

操作容器

访问仓库

数据管理

使用网络

高级网络配置

其他

Docker buildx