Docker总结-远程镜像仓库
2020-02-23 本文已影响0人
________方块丶
没有总结的学习,就像是喝了茶没有品。
Docker镜像存储在镜像仓库服务(Image Registry)当中。并且Docker客户端的镜像仓库服务是可以配置的,默认使用Docker Hub。镜像仓库服务分为官方和非官方的服务,官方仓库镜像是由Docker公司审查过的,非官方的就不一定由保证,但是也有不少优秀的镜像。
完整的pull image的操作应该是:
docker image pull <repository>:<tag>
<!--例如-->
docker pull registry.cn-shanghai.aliyuncs.com/daniel-hub/nginx-docker:[镜像版本号]
<!--这里就是从阿里云的镜像仓库服务中拉去niginx-docker镜像-->
1. 登陆Docker公共镜像仓库
Docker默认配置的公共镜像仓库地址是https://hub.docker.com。登陆完成会在当前用户目录下生成.docker/config.json,保存用户的认证信息。登陆后用户就可以上传个人制作的镜像到Docker Hub了。命令如下:
docker login
2. 从镜像仓库中搜索镜像
docker search [keyword]
<!--例如-->
docker search centos
搜索的镜像资源分两类:
- 根镜像:这种镜像是由Docker公司创建、验证、支持。通常直接由一个单词作为名字。
- Docker用户定义镜像:例如ease2020/nginx-test,这样的名字代表的则是由用户ease2020提供的私人镜像。
搜索结果是不带tags的,想知道tags就必须从docker hub里面查看。
https://hub.docker.com/r/vmware/【镜像名称】/tags/
3. 自动创建(Automated Builds)
自动化创建是Docker Hub提供的一个自动化服务,它能监控到GitHub(或BitBucket目前)上项目的提交,如果发生提交则自动执行创建镜像。
使用步骤:
- 登陆到Docker Hub网站上,创建一个Repository(或者已存在的)找到Build Settings栏目,然后下面可以re-link到GitHub上。
- 关联到Github的项目上,要保证项目存在Dockerfile
这样你的每一次commit,Docker Hub 就会帮你自动重新创建一个镜像。(你也可以在本地构建好了,之后提交到Docker hub上,喜欢那个用来个)
4. 推送本地镜像到远程仓库
- 首先要在Docker Hub建立一个镜像仓库。默认的话,镜像仓库名称前面会有用户名的。 username/test
- 保证本地已经通过 login 登陆了 docker hub,并且本地镜像的tag 也是 username/test
- 使用push 命令
<!--例如这样可以了-->
docker push ease2020/test
5. 更换Docker远程仓库
由于国内外网络环境差异,使用国外的有时候会很慢。幸运的是国内也有一些好用的镜像仓库。
- https://registry.docker-cn.com(docker官网针对中国开的,但是近期不能用了)
- http://hub-mirror.c.163.com(网易)
- https://{your_id}.mirror.aliyuncs.com(阿里的需要你注册,并加入开发者平台)
- http://{your_id}.m.daocloud.io(daocloud,需要你注册的)
总的来说,还是用163吧,修改方式如下
# vi /etc/docker/daemon.json
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
//一定要重启
systemctl restart docker
//查看docker基本信息,来验证是否生效
docker info