Docker 学习之旅(四):Docker Hub
Docker Hub 是一个由 Docker 公司负责维护的公共注册中心,它包含了超过 15,000 个可用来下载和构建容器的镜像,并且还提供认证、工作组结构、工作流工具(比如 webhooks)、构建触发器以及私有工具(比如私有仓库可用于存储你并不想公开分享的镜像)。
总览
Docker Hub 负责集中用户账号、镜像和公开的命名空间的信息,分别由不同的部分组成:
- Web UI
- Meta-data store (comments, stars, list public repositories)
- Authentication service
- Tokenization
这仅仅是 Docker Hub 的一个基本组成,它对大多数的个人和小型企业是十分有帮助的。在改版后,文档将 Docker Hub 部分独立出去,这里遵循以前的顺序,介绍下 Docker Hub 的基础应用。
有关于 Docker Hub 的文档:https://docs.docker.com/docker-hub/
使用
没有登录帐号的情况下可以 search
或者 pull
镜像,但是不能 push
镜像。
团队和组织
太高大上,个人的我用不上,不太了解。
仓库
搜索镜像
1 | $ docker search centos |
没有 /
的镜像说明来自顶层的官方镜像。
可以使用 docker pull <imagename>
下载所需要的镜像。
1 | $ docker pull centos |
查看源标签
Docker Hub 的 “Tags” 显示了可以获取的版本和相关联的镜像大小。镜像大小是镜像和累积的所有父镜像之和,也是当你执行 docker save
时创建的 Tar 文件的大小。
创建新仓库
有 xxxx 的命名规则,文档都有不再赘述,创建完成后就可以使用 docker push
来上传镜像。
上传镜像
在往 Docker Hub 上传镜像之前,你需要使用 Docker Hub 的用户名和仓库名来命名本地镜像。你可以通过使用特殊的 :<tag>
标签来往一个仓库添加多个镜像。如果不指明,则默认为 latest
。
可以使用 docker build -t <hub-user>/<repo-name>[:<tag>]
在构建镜像时命名,使用 docker tag <existing-image> <hub-user>/<repo-name>[:<tag>]
重命名已经存在的本地镜像,或使用 docker commit <exiting-container> <hub-user>/<repo-name>[:<tag>]
来提交更改。
然后就可以上传镜像。
$ docker push <hub-user>/<repo-name>:<tag>
省略其余
省略其余还未了解及用到的部分,请自行查阅文档。
自动构建
有其优点,当然也有其缺点,大体上就是通过链接到 GitHub 或是 Bitbucket 然后再使用。虽然使用过这两个 git 的管理工具,但是初入 Docker 暂不打算先了解自动构建,后期有精力或有需求再看。
继续省略其余
个人认为的入门级应用就这些,其余的不再赘述,有需要的可以自行查看官方文档。