docker 实践四:仓库管理
本篇我们来了解 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
最新文章
- VB6.0 为批量字体改名
- 学习_单片机/嵌入式_的资源链接。——Arvin
- FT232RL变砖之后
- CF461B Appleman and Tree (树DP)
- Rstudio使用记录
- win8 中使用第三方无线网卡出现无线连接受限解决办法
- Fragments
- vmware-workstation-11中centos-6.6安装
- eclipse项目持续报红解决
- 鸟哥的linux私房菜——第12章 正则表达式与文件格式化处理
- Pointers to classes (From the note of my firend)
- 授权给指定用户,使用navicat在其他ip都可以连接linux服务器上的mysql库
- postman断言作用及怎么使用
- VM虚拟机下安装liunx系统
- windows+mysql集群搭建-三分钟搞定集群
- Page10:Lyapunov稳定概念及判定定理[Linear System Theory]
- C#多线程读写同一文件处理
- 接口隔离原则(Interface Segregation Principle,ISP)
- Cocos开发中可能会遇到的问题
- 苹果App Store提交app审核时EULA(终端用户软件使用条款)的注意事项等政策解读
热门文章
- hive on tez 错误记录
- checkbox取反
- 面试题集锦---BY算法导论小组
- 20165223《网络对抗技术》Exp 8 Web基础
- echarts3.0之关系图详解
- Matrix: android 中的Matrix (android.graphics.Matrix) (转)
- E: dpkg was interrupted, you must manually run 'dpkg --configure -a' to correct the problem. 爆错解决办法
- 快速查看MySQL数据库的版本号
- 关于Mysql中GROUP_CONCAT函数返回值长度的坑
- initGLWidgetAndViewer