作用:Registry 用于存放镜像
公有仓库 所有人可以访问下载镜像的仓库。
私有仓库 规定范围内可以访使用的库
一、公有库
Docker 官网推出的docker仓库的一个公共服务器,在上面可以有公有和私有的镜像,目前已经有1万5千多的镜像在这个服务器上面,我们可以通过dockerhub来管理自己的镜像
1.docker hub的使用
官网地址:https://hub.docker.com/
1.1:注册并创建自己的仓库
1.2:会发送邮件到你的邮箱 激活
登录
创建仓库
2.将我们自己制作的镜像上传
在命令行登陆
:第一步:Docker login
输入docker hub 用户名密码
第二步:上传
1.更改镜像名
Docker image tag 旧名字:标签名 新名字:标签名
2.push
Docker Push 镜像名:上传到仓库中的镜像名
3.查看(登录docker hub查看仓库里面的库)
上传成功!
3.将自己公共库中的镜像下载到本地
格式:
docker pull 仓库名:后面可以加指定下载仓库中哪个镜像,不指定默认下载最新的
二、私有库
1.在使用私有库之前要做一些准备工作:
1.1:创建私有库,要使用registry镜像
Docker pull registry
1.2:准备一台电脑作为仓库服务:10.10.107.84
保证服务启动
systemctl start docker
开启防火墙 端口映射需要使用防火墙
systemctl start firewalld
安全模式0
setenforce 0
2.创建虚拟仓库
2.1服务端
1.使用registry镜像 创建一个容器
格式:-v 后面前面是本机的,后面是映射的路径,最后一个是容器的名字registry
Docker run -d -p 5000:5000 -v /opt/registry:/var/lib/registry registry
-p | 端口号映射 |
---|---|
-d | 守护容器 |
-v | 路径映射 将容器的默认存放位置registry目录映射到主机的 opt/registry 此目录会自己创建 |
映射目录的目的:
私有仓库可以存放镜像,如果容器被重启了镜像会消失
2.2客户端:
1.docker新版本后只能使用https访问,因此需要修改配置允许http访问
配置文件目录:
/etc/sysconfig/docker
在options最后添加 --insecure-registry 服务端ip地址:5000
--insecure-registry 10.10.107.10.10.107.121:4000
检查网络
sysctl net.ipv4.ip_forward
如果是以下结果就ok
如果不是
那么修改配置文件
配置文件位置:
/etc/sysctl.conf
vim /etc/sysctl.conf
添加
net.ipv4.ip_forward=1
2.重启docker
3.上传镜像
和上传至公有库一样:
第一步:修改镜像名
Docker tag 旧名字 ip:5000/name
第二步:执行push
Docker Push 镜像名
4.拉取镜像
1.删除原镜像
2.执行pull
Pull 10.10.107.84:5000/name