Docker 仓库管理

仓库(Repository)是集中存放镜像的地方。以下介绍一下 Docker Hub。当然不止 Docker Hub, 只是远程的服务商不一样,操作都是一样的。

Docker Hub

目前 Docker 官方维护了一个公共仓库 Docker Hub。大部分需求都可以通过在 Docker Hub 中直接下载镜像来实现。

注册

https://hub.docker.com 免费注册一个 Docker 账号。

Docker Hub 功能

  • 免费托管公共镜像
  • 自动构建(Automated Builds)
  • 团队协作
  • 官方镜像认证
  • Web 钩子集成

登录和退出

登录需要输入用户名和密码,登录成功后,我们就可以从 Docker Hub 上拉取自己账号下的全部镜像。

登录

docker login

退出

退出 Docker Hub 可以使用以下命令:

docker logout

拉取镜像

你可以通过 docker search 命令来查找官方仓库中的镜像,并利用 docker pull 命令来将它下载到本地。

搜索镜像

以 ubuntu 为关键词进行搜索:

docker search ubuntu

搜索结果说明

  • NAME:镜像仓库名称
  • DESCRIPTION:镜像描述
  • STARS:镜像的星级评分
  • OFFICIAL:是否为官方镜像
  • AUTOMATED:是否为自动构建的镜像

下载镜像

使用 docker pull 将官方 ubuntu 镜像下载到本地:

docker pull ubuntu

推送镜像

用户登录后,可以通过 docker push 命令将自己的镜像推送到 Docker Hub。

以下命令中的 username 请替换为你的 Docker 账号用户名:

# 标记镜像
$ docker tag ubuntu:18.04 username/ubuntu:18.04

# 查看镜像列表
$ docker image ls
REPOSITORY      TAG        IMAGE ID            CREATED           ...  
ubuntu          18.04      275d79972a86        6 days ago        ...  
username/ubuntu 18.04      275d79972a86        6 days ago        ...  

# 推送镜像
$ docker push username/ubuntu:18.04

# 查看推送的镜像
$ docker search username/ubuntu

推送注意事项

  • 必须先登录 Docker Hub
  • 镜像必须按规范命名
  • 推送过程可能较慢,取决于镜像大小和网络状况
  • 推送成功后,可以在 Docker Hub 网站上查看

私有仓库

除了使用 Docker Hub 这样的公共仓库外,用户还可以创建和使用私有仓库。私有仓库适用于需要严格控制访问权限或内部使用的场景。