Docker Hub
Docker官方维护了一个公共仓库Docker Hub,其中已经包括了数量上百万的镜像,大部分需求都可以通过在Docker Hub 中直接下载镜像来实现。
登录的话 在本地直接 docker login ,退出就是 docker logout,但是注意一点就是docker密码会被明文存储在/root/.docker/config.json这个位置(base64)。我这边也测试了一下,退出之后那个位置里面的密码就被删除了,这个书上没写,可以自己测试下。
拉取镜像 docker search
docker search centos 查找关键词是centos的镜像
有很多关键字 镜像名字、描述、收藏数、是否官方创建(OFFICIAL)、是否自动创建(AUTOMATED)。
根据是否是官方镜像,可将镜像分为两类。
一种是类似centos这样的镜像,被称为基础镜像或根镜像。Docker公司创建维护,往往使用单个单词作为名字。
另一种类型,xxxx/centos 镜像,这种是用户维护的,前面通常是用户名称。
Ps: 查找的时候可以通过 --filter=stars=N 参数指定仅显示收藏量为N以上的镜像
下载官方镜像 docker pull
docker pull centos
推送镜像 docker push
docker tag ubuntu:18.04 songzijian/ubuntu:18.04 把songzijian换成你自己的名字
然后推送 push songzijian/ubuntu:18.04
推送成功之后就可以通过 docker search 来查询了,额...我的没查到,不过是推送成功了的,因为可以直接访问 https://hub.docker.com/r/songzijian/ubuntu 看到镜像,也可以通过 docker pull songzijian/ubuntu:18.04 拉取到这个镜像。
自动构建
自动功能对于需要经常升级镜像内程序来说,十分方便。镜像里面安装了某个软件,当软件发布新版本则需要手动更新镜像,而自动构建允许用户通过Docker Hub指定一个目标网站(GitHub或者BitBucket)上的项目,一旦项目发生新的提交,或者创建了新的标签,Docker Hub 会自动构建镜像并推送到Docker Hub中。[这个我没有实操,先把书上的记录放着,用的时候查]
- 登录Docker Hub。
- 在 Docker Hub 点击右上角头像,在账号设置(Account Settings)中关联(Linked Accounts)目标网站。
- 在 Docker Hub 中新建或选择已有的仓库,在 Builds 选项卡中选择。Configure Automated Builds。
- 选取一个目标网站中的项目(需要含 Dockerfile )和分支。
- 指定 Dockerfile 的位置,并保存。
之后,可以在 Docker Hub 的仓库页面的 Timeline 选项卡中查看每次构建状态。