1 拉取Docker hub上提供的最新的registry的镜像
#docker pull registry
#docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
registry latest f32a97de94e1 10 months ago 25.8MB
如果没有代理,可以使用阿里云的加速器,请自行search。
2 运行registry镜像
#run -d -v /opt/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry:latest
-v映射目录
-p映射端口
--restart=always 异常自动重启
存储镜像的目录结构/opt/registry/
└── docker
└── registry
└── v2
├── blobs
│ └── sha256
│ ├── 16
│ │ └── 1674b29430a33e7418fc103965112bddacf1c21df820b7e83fef444208dc04b3
│ │ └── data
│ ├── 47
│ │ └── 474508eb75469fea58179b9c2d5b187b39994414e312c23c94c97177dec126b1
│ │ └── data
│ ├── 90
│ │ └── 907d60cf0bb87b104c68657160540696af669f2a60f35a5cf622341dbf9b8baa
│ │ └── data
│ ├── b8
│ │ ├── b849f2ab4c70bd892150b492601286b6759413c20627376a60ac3569b272c755
│ │ │ └── data
│ │ └── b859fff7a10aef0f5897ba4a25de985a9367f40213c6846aa690552992f3731e
│ │ └── data
│ └── fe
│ └── feb5c2455af205621e1bef1ef9b9e36039c1f00f99f204c0f66f4683a1dfb55d
│ └── data
└── repositories
├── centos
│ ├── _layers
│ │ └── sha256
│ │ ├── 907d60cf0bb87b104c68657160540696af669f2a60f35a5cf622341dbf9b8baa
│ │ │ └── link
│ │ └── b859fff7a10aef0f5897ba4a25de985a9367f40213c6846aa690552992f3731e
│ │ └── link
│ ├── _manifests
│ │ ├── revisions
│ │ │ └── sha256
│ │ │ └── 474508eb75469fea58179b9c2d5b187b39994414e312c23c94c97177dec126b1
│ │ │ └── link
│ │ └── tags
│ │ └── 5
│ │ ├── current
│ │ │ └── link
│ │ └── index
│ │ └── sha256
│ │ └── 474508eb75469fea58179b9c2d5b187b39994414e312c23c94c97177dec126b1
│ │ └── link
│ └── _uploads
3 tag本地镜像名称
# docker tag centos:v5.0 IP:5000/centos:v5.0
# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
IP:5000/centos v5.0 907d60cf0bb8 About an hour ago 1.26GB
ak_centos v5.0 907d60cf0bb8 About an hour ago 1.26GB
IP是运行厂库的机器的IP地址
4 修改daemon.json重启docker服务
# cat /etc/docker/daemon.json
{
"registry-mirrors": ["https://xxxxxxxx.mirror.aliyuncs.com"], "insecure-registries":["xxx.xxx.xxx.xxx:5000"]
}
# systemctl restart docker
"registry-mirrors": ["https://xxxxxxxx.mirror.aliyuncs.com"]为阿里的加速器地址,请自己去免费申请,国内使用会比直接使用docker-hub要快(自己有代理的除外)。
xxx.xxx.xxx.xxx为运行仓库的机器的IP地址
5 上传镜像到本地厂库、查看
# git push IP:5000/centos:v5.0
# curl 172.24.51.69:5000/v2/_catalog
{"repositories":["centos","ubuntu"]}
6 拉取私有镜像
#docker pull IP:5000/centos:v5.0
如果在其他机器上拉去,需要在拉去的机器上修改daemon.json,如下,要包含仓库的机器的IP地址(xxx.xxx.xxx.xxx):5000这一行
# cat /etc/docker/daemon.json
{
"insecure-registries":["xxx.xxx.xxx.xxx:5000"]
}