1. Docker 的架构

Docker 镜像库房是什么?有哪些镜像库房指令?

(图片来历:Docker架构图

  1. Registry(Docker 库房) : Docker 库房用来保存镜像,Docker 官方供给了一个公共的 Docker 库房,称为 Docker Hub,开发者能够在 Docker Hub 上分享和获取 Docker 镜像。
  2. Docker daemon:Docker daemon 是服务器组件,是 Docker 最核心的后台进程。
  3. Docker 客户端(Client): Docker 客户端(Client)是用于与 Docker 守护进程(Daemon)进行交互的指令行东西或图形用户界面。它允许用户通过简单的指令或界面操作来管理 Docker 上的容器、镜像、网络等资源。
  4. Docker 主机(Host):是指运行 Docker 守护进程(Docker Daemon)的物理机器或虚拟机。担任管理和运行 Docker 容器。Docker 主机供给了一个环境,让用户能够创立、部署和管理 Docker 容器。
  5. Docker 镜像(Images):是用于创立 Docker 容器的静态模板。镜像包含了运行容器所需的一切文件系统内容、运行时配置和环境变量等信息。换句话说,镜像是一个只读的模板,能够用来创立运行时的容器实例。
  6. Docker 容器(Container):Docker 平台上运行的轻量级、独立的可执行单元。每个容器都是一个独立的环境,包含了应用程序以及其依靠的一切运行时组件,如库、环境变量和配置文件等。

2. Docker 库房

  镜像库房 (Docker Registry) 担任存储、管理和分发镜像,而且供给了登录认证能力,建立了库房的索引。

Docker 镜像库房是什么?有哪些镜像库房指令?

   元数据(Metadata): 这是关于镜像的描绘信息,包含镜像的标签(Tag)、作者、创立时间、版别、巨细等。元数据供给了关于镜像的基本信息,协助用户了解镜像的特性和用处。

  像下面的便是整个镜像库房 Docker Hub,库房中有像 nginx、redis 等分类,每个库房里的内容又有不同的版别的镜像,而元数据便是每个镜像的具体介绍。

Docker 镜像库房是什么?有哪些镜像库房指令?

   库房能够分为私有库房以及公有库房,像 Docker Hub 之类的公有库房不必登录就能够下载镜;而私有库房不对外开放,往往位于私有网络,只有个人/公司内部人员能够使用。

启动容器时,docker daemon 会试图从本地获取相关的镜像;本地镜像不存在时,其将从 Registry 中下载该镜像并保存到本地;

3. 常用的库房指令

官方文档:docker login | Docker Docs

3.1 docker login

   登录到一个 Docker 镜像库房,如果未指定镜像库房地址,默许为官方库房 Docker Hub。 语法:

docker login [OPTIONS] [SERVER]

Docker 镜像库房是什么?有哪些镜像库房指令?

3.2 docker pull

  从镜像库房中拉取或许更新指定镜像

 docker pull [OPTIONS] NAME[:TAG|@DIGEST]
  • [OPTIONS]:
    • -a : 拉取一切 tagged 镜像
    • –disable-content-trust:疏忽镜像的校验, 默许敞开
  • NAME[:TAG]:称号以及标签

案例:能够在官网上查阅标签。Docker Hub

docker pull nginx:1.23.4

或许利用 digest :

Docker 镜像库房是什么?有哪些镜像库房指令?

docker pull nginx:sha256:a97a153152fcd6410bdf4fb64f5622ecf97a753f07dcc89dab14509d059736cf

3.3 docker push

默许格式:

docker push [OPTIONS] NAME[:TAG]

  将本地的镜像上传到镜像库房,要先登陆到镜像库房,并先创立一个自己的库房。

Docker 镜像库房是什么?有哪些镜像库房指令?

  填写好相应的信息后,能够看到它给你的推送格式:我这是 docker push cll2024/nginx:tagname

Docker 镜像库房是什么?有哪些镜像库房指令?

先将自己的镜像改个标签:

docker tag nginx:1.23.4 cll2024/nginx:1.23.4

再 push:

 docker push cll2024/nginx:1.23.4

Docker 镜像库房是什么?有哪些镜像库房指令?

能够看到库房里面已经有了该镜像。

Docker 镜像库房是什么?有哪些镜像库房指令?

3.4 docker search

  从 Docker Hub 查找镜像。

 docker search [OPTIONS] TERM
  • --no-trunc: 显示完好的镜像描绘;
  • -f <过滤条件>: 列出收藏数不小于指定值的镜像
# 表明 star 不小于 10 的镜像
docker search -f stars=10 nginx

Docker 镜像库房是什么?有哪些镜像库房指令?

3.5 docker logout

   退出登录 Docker 镜像库房,如果未指定镜像库房地址,默许为官方库房 Docker Hub。

docker logout [SERVER]

Docker 镜像库房是什么?有哪些镜像库房指令?