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/config.json 文件中,下次使用 Docker 命令时会自动使用该凭证。
退出
退出 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 这样的公共仓库外,用户还可以创建和使用私有仓库。私有仓库适用于需要严格控制访问权限或内部使用的场景。
私有仓库优势
- 更好的访问控制
- 更快的下载速度
- 更高的安全性
- 更好的隐私保护