Docker Registry搭建私有镜像仓库的实现方法

 更新时间:2019年10月16日 11:37:30   作者:Jello  
这篇文章主要介绍了Docker Registry搭建私有镜像仓库的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

微服务的镜像会上传到Docker仓库保存,常用的公网Docker仓库有阿里云,网易云等,在企业局域网也可以搭建自己的Docker私有仓库,本教程使用Docker提供的私有仓库registry。

1.拉取私有仓库镜像

docker pull registry

2.创建启动私有仓库容器

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

参数说明

  • -dit:在容器中打开一个伪终端进行交互操作,并在后台运行
  • -v:把宿主机的/data/registry目录挂载到容器/var/lib/registry目录(这个目录是registry容器中存放镜像文件的目录),来实现数据的持久化
  • -p:映射端口,访问宿主机的5000端口就访问到registry容器的服务了
  • --restart=always:这是重启的策略,假如这个容器异常退出会自动重启容器
  • --name docker-registry:创建容器命名为docker-registry,你可以随便命名
  • registry:pull下来的镜像


上边显示 registry镜像已经创建,并且docker-registry容器已经启动成功。访问:http://139.9.40.41:5000/v2/_catalog,响应结果如下:

{"repositories":[]}

上边的响应结果说明在docker私有仓库中还没有镜像。

默认docker-registry只允许https提交镜像,如下配置使docker-registry支持http,在/etc/docker下,创建daemon.json文件,写入:

{ 
 "insecure-registries": [ "139.9.40.41:5000"]
}

3.重启docker

systemctl restart docker

4.镜像上传至私有仓库

标记此镜像为私有仓库的镜像

docker tag docker.io/hello-world 139.9.40.41:5000/hello-world:v1

上传标记的镜像

docker push 139.9.40.41:5000/hello-world:v1

列出所有镜像

[root@2 docker]# curl http://139.9.40.41:5000/v2/_catalog
{"repositories":["hello-world"]}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • docker安装nginx容器的方法

    docker安装nginx容器的方法

    Nginx也是一款服务器,我们常用它做如:反向代理、负载均衡、动态与静态资源的分离的工作,这篇文章主要介绍了docker安装nginx,需要的朋友可以参考下
    2023-01-01
  • 基于CentOS8系统使用Docker搭建Gitlab的详细教程

    基于CentOS8系统使用Docker搭建Gitlab的详细教程

    这篇文章主要介绍了基于CentOS8系统使用Docker搭建Gitlab教程,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-10-10
  • docker启动springboot项目容器闪退的解决

    docker启动springboot项目容器闪退的解决

    本文主要介绍了docker启动springboot项目容器闪退,大部分原因是启动报错,文中通过图文示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-07-07
  • Docker使用java项目工程的部署

    Docker使用java项目工程的部署

    随着容器化技术的广泛应用,Docker成为了一种非常流行的容器化解决方案,本文主要介绍了Docker使用java项目工程的部署,具有一定的参考价值,感兴趣的可以了解一下
    2024-03-03
  • docker映射端口穿透内置防火墙的实现

    docker映射端口穿透内置防火墙的实现

    在使用Docker部署项目时,即使未开启CentOS7的Firewalld防火墙,端口仍可被外网访问,这是因为Docker在安装后会接管iptables,并自动添加规则以放行指定端口,解决方法包括依赖外置防火墙放行端口、指定端口监听地址为本机、禁用Docker的iptables规则修改
    2024-10-10
  • Docker镜像的默认存储位置及修改步骤

    Docker镜像的默认存储位置及修改步骤

    Docker镜像默认存储在 /var/lib/docker 目录下,在Linux系统中,这个目录通常是在根目录下,可以使用相应命令查看,下面给大家介绍Docker镜像的默认存储位置及修改步骤,感兴趣的朋友一起看看吧
    2024-06-06
  • 浅谈Docker consul的容器服务更新与发现

    浅谈Docker consul的容器服务更新与发现

    本文主要介绍了浅谈Docker consul的容器服务更新与发现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • 替换docker容器中的一个文件的实现

    替换docker容器中的一个文件的实现

    在某些情况下,我们可能确实需要更新容器内的文件,本文主要介绍了替换docker容器中的一个文件的实现,具有一定的参考价值,感兴趣的可以了解一下
    2024-06-06
  • docker安装并运行rabbitmq的实例代码

    docker安装并运行rabbitmq的实例代码

    在本篇文章里小编给大家整理了关于docker安装并运行rabbitmq的实例代码以及相关知识点,需要的朋友们学习下。
    2019-10-10
  • docker打包镜像后EasyExcel报错,dockerfile缺少字体的解决

    docker打包镜像后EasyExcel报错,dockerfile缺少字体的解决

    解决Docker打包镜像后EasyExcel报错的问题:1. Dockerfile增加字体配置;2. 使用EasyExcel的write时添加"inMemory"参数为true,开启内存处理模式(不推荐,1W数据以内可以考虑)
    2025-02-02

最新评论