18.Docker私库安装

前置参见:3.Ubuntu 16.04.6 离线安装 docker

 

开始配置第一台Docker私有仓库服务器

拉取镜像

docker pull registry

 

 查看镜像是否已经成功获取

 

 

运行镜像

docker run -tid --name registry --restart=always -p 5000:5000 -v /data/registry:/var/lib/registry registry

#运行该镜像,各个选项含义如下:

# -tid:以后台持久运行,并分配一个可交互的为终端

# --name registry :给容器定义一个名字

# --restart=always:该容器可以随着docker服务的启动而启动

# -p:将容器的端口映射到宿主机,冒号前面是宿主机的端口,冒号后面是容器的端口,registry的默认端口是5000

# -v:将宿主机的目录挂载到容器中,冒号前面是宿主机的目录,冒号后面是容器中的目录

 

查看docker运行的镜像

docker ps

 

 至此仓库搭建完成

 解决私库https无法访问问题

若是没有 /etc/docker/daemon.json 这个文件,就新建一个


状况1.这种写法是没有配置Docker加速器的状况下

// 单个私服的写法
{
    "insecure-registries": ["registry的IP地址:端口号"]
}
// 多个私服的写法
{
    "insecure-registries": ["registry1的IP地址:端口号","registry2的IP地址:端口号"]
}

状况2.这种写法是配置过Docker加速器的状况

// 单个私服的写法
{
    "registry-mirrors": ["http://f1361db2.m.daocloud.io"],
    "insecure-registries": ["registry的IP地址:端口号"]
}
// 多个私服的写法
{
    "registry-mirrors": ["http://f1361db2.m.daocloud.io"],
    "insecure-registries": ["registry1的IP地址:端口号","registry2的IP地址:端口号"]
}
 

修改好以后

systemctl daemon-reload
systemctl restart docker.service
systemctl enable docker.service

 

上传镜像

要上传镜像到私有仓库,需要在镜像的 tag 上加入仓库地址:

docker tag jboss  192.168.88.85:5000/jboss:v1
docker push 192.168.88.85:5000/jboss:v1

 

 

拉取镜像

docker pull 192.168.88.85:5000/jboss:v1

 

查看私库镜像

curl http://192.168.88.85:5000/v2/_catalog

 

查询指定标签所有镜像 curl -XGET http://{registry}/v2/{name}/tags/list
curl -XGET http://192.168.88.85:5000/v2/zkui-master/tags/list


查看某个镜像的sha256值:curl -v --silent "{registry}/v2/{name}/manifests/{tag}" 2>&1 | grep Docker-Content-Digest | awk '{print ($3)}'
curl -v --silent "192.168.88.85:5000/v2/zkui-master/manifests/latest" 2>&1 | grep Docker-Content-Digest | awk '{print ($3)}'


删除url curl -I -X DELETE http://{registry}/v2/{name}/manifests/sha256:{sha256}
curl -I -X DELETE http://192.168.88.85:5000/v2/zkui-master/manifests/sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a

  

镜像查看

 

posted @ 2021-06-30 19:55  疯癫大圣  阅读(856)  评论(0编辑  收藏  举报