搜索hello-world镜像
docker search hello-world
拉去镜像
docker pull hello-world
查看本地镜像
docker images
运行镜像
docker run hello-world
查看所有的容器
docker ps -a
查询start状态容器
docker ps
输出介绍
- CONTAINER ID: 容器 ID。
- IMAGE: 使用的镜像。
- COMMAND: 启动容器时运行的命令。
- CREATED: 容器的创建时间。
- STATUS: 容器状态。
- PORTS: 容器的端口信息和使用的连接类型(tcp\udp)。
- NAMES: 自动分配的容器名称。
容器状态
- created(已创建)
- restarting(重启中)
- running 或 Up(运行中)
- removing(迁移中)
- paused(暂停)
- exited(停止)
- dead(死亡)
Docker架构
Docker 使用客户端-服务器架构。Docker 客户端与 Docker 守护进程通信,后者负责构建、运行和分发 Docker 容器的繁重工作。Docker 客户端和守护进程可以在同一系统上运行,也可以将 Docker 客户端连接到远程 Docker 守护进程。Docker 客户端和守护进程使用 REST API 通过 UNIX 套接字或网络接口进行通信。另一个 Docker 客户端是 Docker Compose,它允许您使用由一组容器组成的应用程序。
图片来自官网
Docker 守护进程(Docker daemon)
Docker 守护进程 ( dockerd) 侦听 Docker API 请求并管理 Docker 对象,例如映像、容器、网络和卷。守护进程还可以与其他守护进程通信来管理 Docker 服务。
Docker 客户端(Docker client)
Docker 客户端 ( docker) 是许多 Docker 用户与 Docker 交互的主要方式。当您使用诸如 之类的命令时docker run,客户端会将这些命令发送到dockerd,由后者执行这些命令。该docker命令使用 Docker API。Docker 客户端可以与多个守护进程通信。
Docker 桌面 (Docker Desktop)
Docker Desktop 是一款适用于 Mac、Windows 或 Linux 环境的易于安装的应用程序,使您能够构建和共享容器化应用程序和微服务。Docker Desktop 包括 Docker 守护进程 ( dockerd)、Docker 客户端 ( docker)、Docker Compose、Docker Content Trust、Kubernetes 和 Credential Helper。
Docker 注册表 (Docker registries)
Docker 注册表存储 Docker 镜像。Docker Hub 是任何人都可以使用的公共注册表,Docker 默认在 Docker Hub 上查找镜像。可以运行自己的私人注册表。
当您使用docker pull或docker run命令时,Docker 从您配置的注册表中提取所需的映像。当您使用该docker push命令时,Docker 会将您的映像推送到您配置的注册表。
Docker 对象(Docker objects)
当您使用 Docker 时,您正在创建和使用映像、容器、网络、卷、插件和其他对象。
镜像 (Images)
镜像是一个只读模板,包含创建 Docker 容器的说明。通常,一个图像基于另一个图像,并进行一些额外的自定。
可以创建自己的映像,也可以仅使用其他人创建并在注册表中发布的映像。要构建您自己的映像,您可以使用简单的语法创建一个 Dockerfile,用于定义创建映像并运行它所需的步骤。Dockerfile 中的每条指令都会在映像中创建一个层。当您更改 Dockerfile 并重建映像时,只会重建那些已更改的层。与其他虚拟化技术相比,这就是映像如此轻量、小型且快速的部分原因。
容器 (Containers)
容器是镜像的可运行实例。您可以使用 Docker API 或 CLI 创建、启动、停止、移动或删除容器。您可以将容器连接到一个或多个网络,为其附加存储,甚至可以根据其当前状态创建一个新映像。
默认情况下,容器与其他容器及其主机相对较好地隔离。您可以控制容器的网络、存储或其他底层子系统与其他容器或主机的隔离程度。
容器由其映像以及您在创建或启动它时提供给它的任何配置选项来定义。当容器被删除时,任何未存储在持久存储中的状态更改都会消失。