Docker - Registry实践

docker hub 官网地址:https://hub.docker.com

Repository (仓库)

Docker 仓库是集中存放镜像文件的场所。实际上,一个 Docker Registry 中可以包含多个仓库 (Repository) ,每个仓库可以包含多个标签 (Tag),每个标签对应着一个镜像。所以说,镜像仓库是 Docker 用来集中存放镜像文件的地方类似于我们之前常用的代码仓库。

通常,一个仓库会包含同一个软件不同版本的镜像,而标签就常用于对应该软件的各个版本 。我们可以通过<仓库名>:<标签>的格式来指定具体是这个软件哪个版本的镜像。如果不给出标签,将以 latest 作为默认标签.。

仓库又可以分为两种形式:

  • public(公有仓库)
  • private(私有仓库)

除了使用公开服务外,用户还可以在本地搭建私有 Docker Registry 。Docker 官方提供了 Docker Registry镜像,可以直接使用做为私有 Registry 服务。当用户创建了自己的镜像之后就可以使用 push 命令将它上传到公有或者私有仓库,这样下次在另外一台机器上使用这个镜像时候,只需要从仓库上 pull 下来就可以了。

framework

Docker 使用 C/S 结构,即客户端/服务器体系结构。 Docker 客户端与 Docker 服务器进行交互,Docker服务端负责构建、运行和分发 Docker 镜像。 Docker 客户端和服务端可以运行在一台机器上,也可以通过 RESTful 、 stock 或网络接口与远程 Docker 服务端进行通信。

docker-framework

这张图展示了 Docker 客户端、服务端和 Docker 仓库(即 Docker Hub 和 Docker Cloud ),默认情况下Docker 会在 Docker 中央仓库寻找镜像文件,这种利用仓库管理镜像的设计理念类似于 Git ,当然这个仓库是可以通过修改配置来指定的,甚至我们可以创建我们自己的私有仓库。

前提:

  1. 注册docker hub账号
  2. 创建新的repository
  3. 登录ECS(CentOS)服务器

登录

docker login

退出登录

docker logout

给镜像打tag

# docker image tag [imageName] [username]/[repository]:[tag]
docker image tag [imageName]:latest [username]/testdocker:v1.0.0
docker image ls 

推送镜像

# docker push [username]/[repository]:[tag]
docker push [username]/testdocker:v1.0.0

docker inspect [image_name] 的 Layers与这里的层数对应

使用镜像

docker search [username]/[repository]:[tag]
docker pull [username]/[repository]:[tag]
发布了88 篇原创文章 · 获赞 16 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/qq_36157085/article/details/102643525
今日推荐