本篇我们来了解 docker 仓库的内容。

注:环境为 CentOS7,docker 19.03

仓库(Responsitory)是集中存放镜像的地方,又分公共仓库和私有仓库。

注:有时候容易把仓库与注册服务器(Registry) 混淆。 实际上注册服务器是存放仓库的具体服务器, ⼀个注册服务器上可以有多个仓库, ⽽每个仓库下⾯可以有多个镜像。

公有仓库

Docker Hub 是 docker 官方提供的最大的公共镜像仓库,地址为 https://hub.docker.com

登录

可以使用命令 docker login 来注册和登陆。

基本操作

使用命令 docker search [IMAGE] 来搜索镜像:

# docker search centos
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
centos The official build of CentOS. 5520 [OK]
ansible/centos7-ansible Ansible on Centos7 122 [OK]
jdeathe/centos-ssh CentOS-6 6.10 x86_64 / CentOS-7 7.6.1810 x86… 111 [OK]

上面显示的镜像分为两类:

  • ⼀种是类似于centos这样的基础镜像, 也称为根镜像。 这些镜像是由Docker公司创建、 验证、 ⽀持、 提供, 这样的镜像往往使⽤单个单词作为名字;
  • 另⼀种类型的镜像, ⽐如ansible/centos7-ansible镜像, 是由Docker⽤户ansible创建并维护的, 带有⽤户名称为前缀, 表明是某⽤户下的某仓库。 可以通过⽤户名称前缀“user_name/镜像名”来指定使⽤某个⽤户提供的镜像。

使用命令 docker pull [IMAGE] 拉取镜像:

# docker pull centos

第三方公共镜像

在国内也又一些的公有仓库,我们可以通过配置,让下载镜像的地址指向国内的源。这里选择阿里云,操作步骤如下:

1.登陆阿里云,点击右上角的“管理中心”,点击进入后,点击“镜像加速器”,得到加速的地址。

2.配置文件:

# vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://xxxxxx.mirror.aliyuncs.com"]
}

3.重启 docker

# systemctl restart docker

搭建本地私有仓库

除了以上的公共仓库之外,在需要的时候我们也可以搭建私有的仓库。

安装镜像

安装 docker 后,可以通过官方提供的 registy 镜像来搭建本地私有仓库:

1.下载镜像

# docker pull registry

2.启动镜像

# docker run -d -p 5000:5000 registry

默认情况下, 仓库会被创建在容器的/var/lib/registry⽬录下。 可以通过-v参数来将镜像⽂件存放在本地的指定路径。

管理仓库

上传镜像

通过 docker push命令来上传文件,将镜像上传本地的仓库前需要对镜像作一个特别的 tag

# docker tag cenntos 192.168.127.128:5000/centos
# docker push 172.7.15.113:5000/centos

把标记的镜像给推送到私有仓库,但此时并不会成功,并报错:

Get https://172.7.15.113:5000/v2/: http: server gave HTTP response to HTTPS client

需要修改配置文件:

# vi /etc/docker/daemon.json
{
"insecure-registries":["192.168.127.128:5000"]
}

重启服务,启动仓库容器

# systemctl restart docker
# docker run container_id

现在可以上传镜像了

# docker push 192.168.127.128:5000/centos

查看上传的镜像

# curl 192.168.127.128:5000/v2/_catalog

下载镜像

# docker pull 192.168.127.128:5000/centos

注意:在客户端中从本地下载镜像需要修改docker的配置文件 /etc/docker/daemon.json

最新文章

  1. VB6.0 为批量字体改名
  2. 学习_单片机/嵌入式_的资源链接。——Arvin
  3. FT232RL变砖之后
  4. CF461B Appleman and Tree (树DP)
  5. Rstudio使用记录
  6. win8 中使用第三方无线网卡出现无线连接受限解决办法
  7. Fragments
  8. vmware-workstation-11中centos-6.6安装
  9. eclipse项目持续报红解决
  10. 鸟哥的linux私房菜——第12章 正则表达式与文件格式化处理
  11. Pointers to classes (From the note of my firend)
  12. 授权给指定用户,使用navicat在其他ip都可以连接linux服务器上的mysql库
  13. postman断言作用及怎么使用
  14. VM虚拟机下安装liunx系统
  15. windows+mysql集群搭建-三分钟搞定集群
  16. Page10:Lyapunov稳定概念及判定定理[Linear System Theory]
  17. C#多线程读写同一文件处理
  18. 接口隔离原则(Interface Segregation Principle,ISP)
  19. Cocos开发中可能会遇到的问题
  20. 苹果App Store提交app审核时EULA(终端用户软件使用条款)的注意事项等政策解读

热门文章

  1. hive on tez 错误记录
  2. checkbox取反
  3. 面试题集锦---BY算法导论小组
  4. 20165223《网络对抗技术》Exp 8 Web基础
  5. echarts3.0之关系图详解
  6. Matrix: android 中的Matrix (android.graphics.Matrix) (转)
  7. E: dpkg was interrupted, you must manually run 'dpkg --configure -a' to correct the problem. 爆错解决办法
  8. 快速查看MySQL数据库的版本号
  9. 关于Mysql中GROUP_CONCAT函数返回值长度的坑
  10. initGLWidgetAndViewer