Docker如何搭建私有仓库

 更新时间:2025年03月08日 09:16:26   作者:Docker搭建私有仓库  
文章介绍了如何搭建私有仓库并使用Docker进行镜像的管理和推送,首先,搭建私有仓库并配置非HTTPS访问(适用于Ubuntu、Debian和CentOS),然后,使用Docker命令标记、推送和拉取镜像,最后,通过curl命令查看仓库中的镜像列表

搭建私有仓库

安装运行 docker-registry

查看docker存储路径与对应路径下的大小

docker info | grep Dir

查看对应路径下的大小

du -sh /var/lib/docker

如果大小没有问题的话就可以直接安装了

拉取registry镜像并运行

docker run -d \
    -p 5000:5000 \
    -v /yourDataPath:/var/lib/registry \
    registry

使用 docker ps 指令查看容器是否正常运行,部署完成

配置非 https 仓库地址

因为 Docker 默认不允许非 HTTPS 方式推送镜像。我们可以通过 Docker 的配置选项来取消这个限制,或者查看下一节配置能够通过 HTTPS 访问的私有仓库。

Ubuntu 16.04+, Debian 8+, centos 7配置方法,对于使用 systemd 的系统,请在 /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件)

{
  "registry-mirrors": [
    "https://hub-mirror.c.163.com",
    "https://mirror.baidubce.com"
  ],
  "insecure-registries": [
    "YOUR IPADDR:5000"
  ]
}

更新配置

给dockerd 发送 SIGHUP 信号,dockerd 收到信号后会 reload 配置,查看Insecure Registries是否生效

kill -SIGHUP $(pidof dockerd)
docker info

在私有仓库上传、搜索、下载镜像

**创建好私有仓库之后,就可以使用 docker tag 来标记一个镜像,然后推送它到仓库。例如私有仓库地址为 127.0.0.1:5000

**使用 docker tag 将 hello-world :latest这个镜像标记为 127.0.0.1:5000/hello-world:latest

格式为

docker tag IMAGE[:TAG] [REGISTRY_HOST[:REGISTRY_PORT]/]REPOSITORY[:TAG]
docker tag hello-world:latest 127.0.0.1:5000/hello-world:latest

使用 docker push 上传标记的镜像。

docker push 127.0.0.1:5000/hello-world

用curl查看仓库中的镜像

curl 127.0.0.1:5000/v2/_catalog

先删除已有镜像

docker rmi REPOSITORY

再尝试从私有仓库中下载这个镜像

docker pull 127.0.0.1:5000/hello-world

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Docker制作镜像的完整过程

    Docker制作镜像的完整过程

    本文主要介绍了Docker制作镜像的完整过程,以制作CentOS镜像为例,讲述对镜像自定义,打包以及推送的远程仓库的过程,感兴趣的可以了解一下
    2021-11-11
  • 把数据库部署在docker容器内有哪些缺陷

    把数据库部署在docker容器内有哪些缺陷

    这篇文章主要介绍了把数据库部署在docker容器内有哪些缺陷,帮助大家更好的理解和学习docker容器和数据库,感兴趣的朋友可以了解下
    2020-08-08
  • MacBookPro下docker的安装与使用教程

    MacBookPro下docker的安装与使用教程

    Windows与Linux下关于docker的安装使用方法有很多,今天小编这里给大家分享的是MacOS下docker的安装与简单使用案例,非常简单,给有需要的小伙伴参考下
    2017-03-03
  • docker镜像无法删除 Error:No such image:xxxxxx解决

    docker镜像无法删除 Error:No such image:xxxxxx解决

    这篇文章主要介绍了docker镜像无法删除 Error:No such image:xxxxxx解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • Windows10安装WSL2 Ubuntu20.04并设置docker环境的方法

    Windows10安装WSL2 Ubuntu20.04并设置docker环境的方法

    这篇文章主要介绍了Windows10安装WSL2 Ubuntu20.04并设置docker环境的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • Docker 部署Scrapy的详解

    Docker 部署Scrapy的详解

    这篇文章主要介绍了Docker 部署Scrapy的详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • 解决docker pull被复位出现的问题

    解决docker pull被复位出现的问题

    这篇文章主要介绍了解决docker pull被复位出现的问题,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-09-09
  • docker pull镜像速度慢的问题解决方法

    docker pull镜像速度慢的问题解决方法

    这篇文章主要介绍了docker pull镜像速度慢的问题解决方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-09-09
  • Docker一行命令完成FTP服务搭建的实现

    Docker一行命令完成FTP服务搭建的实现

    这篇文章主要介绍了Docker一行命令完成FTP服务搭建的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • Docker容器如何访问宿主机的Mysql数据库

    Docker容器如何访问宿主机的Mysql数据库

    使用Docker能实现服务的容器化,并使用容器间网络在它们之间进行通信,下面这篇文章主要给大家介绍了关于Docker容器如何访问宿主机的Mysql数据库,需要的朋友可以参考下
    2024-04-04

最新评论