一、服务器端操作
1、下载镜像registry
docker pull registry
2、查看镜像
docker images
3、运行registry容器
docker run -itd -v /data/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry:latest
-itd:在容器中打开一个伪终端进行交互操作,并在后台运行
-v:把宿主机的/data/registry目录绑定 到 容器/var/lib/registry目录(这个目录是registry容器中存放镜像文件的目录),来实现数据的持久化;
-p:映射端口;访问宿主机的5000端口就访问到registry容器的服务了
--restart=always:这是重启的策略,假如这个容器异常退出会自动重启容器
--name registry:创建容器命名为registry
registry:latest:这个是刚才pull下来的镜像
4.测试镜像仓库中所有的镜像
curl http://127.0.0.1:5000/v2/_catalog
现在是空的,因为才刚运行,里面没有任何镜像内容。
二.测试镜像仓库(测试端操作)
1、修改下镜像源并重启docker服务
vim /etc/docker/daemon.json
输入
{
"registry-mirrors": [ "https://registry.docker-cn.com"]
}
重启:systemctl restart docker
2、下载busybox镜像
docker pull busybox
3、为镜像打标签
docker tag busybox:latest 192.168.80.132:5000/busybox:v1
4、上传到私有镜像服务器
添加私有镜像仓库地址
vim /etc/docker/daemon.json
{
"registry-mirrors": [ "https://registry.docker-cn.com"],
"insecure-registries": [ "192.168.80.132:5000"]
}
docker push 192.168.80.132:5000/busybox:v1
5、测试下载镜像
先删除测试机上的镜像
docker rmi -f 59788edf1f3e
从registry服务器上下载busybox镜像
docker pull 192.168.80.132:5000/busybox:v1
查看刚才下载的镜像
docker images
6、从测试机列出服务器机的所有镜像:
curl http://192.168.80.132:5000/v2/_catalog
7、列出服务器机busybox镜像有哪些tag
curl http://192.168.80.132:5000/v2/busybox/tags/list