千家信息网

Linux中怎么搭建Docker私有仓库

发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,本篇内容主要讲解"Linux中怎么搭建Docker私有仓库",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Linux中怎么搭建Docker私有仓库"吧!1、
千家信息网最后更新 2025年11月08日Linux中怎么搭建Docker私有仓库

本篇内容主要讲解"Linux中怎么搭建Docker私有仓库",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Linux中怎么搭建Docker私有仓库"吧!

1、下载registry镜像

[root@localhost ~]# docker pull registryUsing default tag: latestlatest: Pulling from library/registry486039affc0a: Pull completeba51a3b098e6: Pull complete8bb4c43d6c8e: Pull complete6f5f453e5f2d: Pull complete42bc10b72f42: Pull completeDigest: sha256:7d081088e4bfd632a88e3f3bcd9e007ef44a796fddfe3261407a3f9f04abe1e7Status: Downloaded newer image for registry:latestdocker.io/library/registry:latest

2、生成registry容器,开放5000端口

[root@localhost ~]# docker create -it registry /bin/bashfd51aa59dc5cea7b589d0403e562cb8f0098c3a8a7da239572dd5bfd9423ec96[root@localhost ~]# docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESfd51aa59dc5c registry "/entrypoint.sh /bin…" 10 seconds ago Created optimistic_saha#建议直接执行下面的这个命令,因为笔者遇到start这个容器发现退出的状态码非0(后面解决了,使用/bin/sh环境即可)[root@localhost ~]# docker run -d -p 5000:5000 -v /data/registry:/tmp/registry registryceb498d622ab743fc858a993e3870f9831e20436cb71f7225215f1f0899571f1[root@localhost ~]# docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESceb498d622ab registry "/entrypoint.sh /etc…" 2 seconds ago Up 2 seconds 0.0.0.0:5000->5000/tcp strange_swansondocker run -d -p 5000:5000 -v /data/registry:/tmp/registry registry命令的解释:-d ——守护进程-v ——数据卷设置{/data/registry表示的宿主机系统中的一个绝对路径,没有的时候会自动创建,/tmp/registry表示容器内部的目录}#宿主机目录[root@localhost ~]# ls /bin boot data dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var[root@localhost ~]# ls /data/registry#容器内部目录[root@localhost ~]# docker exec -it ceb498d622ab /bin/sh/ # ls /bin etc media root srv usrdev home mnt run sys varentrypoint.sh lib proc sbin tmp/ # ls tmp/registry

3、客户端设置daemon.json文件 (指定私有仓库位置)

[root@localhost ~]# vim /etc/docker/daemon.json{"insecure-registries": ["20.0.0.149:5000"], #将本地服务器作为私有仓库位置"registry-mirrors": ["https://5m9y9qbl.mirror.aliyuncs.com"]}[root@localhost ~]# systemctl restart docker

4、创建本地的镜像标签

[root@localhost ~]# docker pull httpdUsing default tag: latestlatest: Pulling from library/httpd123275d6e508: Pull completee984dd982a6e: Pull complete963280e5cf81: Pull complete6faf90d050b2: Pull complete962b56984bb0: Pull completeDigest: sha256:d5dc0d279039da76a8b490d89a5c96da83a33842493d4336b42ccdfbd36d7409Status: Downloaded newer image for httpd:latestdocker.io/library/httpd:latest[root@localhost ~]# docker tag httpd:latest 20.0.0.149:5000/httpd

5、上传镜像

[root@localhost ~]# docker push 149:5000/httpdThe push refers to repository [149:5000/httpd]An image does not exist locally with the tag: 149:5000/httpd[root@localhost ~]# docker push 20.0.0.149:5000/httpdThe push refers to repository [20.0.0.149:5000/httpd]9dabb51b1ca2: Pushed4621e8a6d1da: Pushede728c649bc91: Pushed1a935e59aa8a: Pushedb60e5c3bcef2: Pushedlatest: digest: sha256:8f10edef61246c6c142a87304d4ffa68298662ecb619776e4e9817d06ec5f567 size: 1367[root@localhost ~]# curl -XGET http://20.0.0.149:5000/v2/_catalog{"repositories":["httpd"]}#有上面的结果表示上传成功

6、下载镜像测试

[root@localhost ~]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEhttpd latest bdc169d27d36 Less than a second ago 166MB20.0.0.149:5000/httpd latest bdc169d27d36 Less than a second ago 166MBregistry latest 708bc6af7e5e 2 months ago 25.8MB[root@localhost ~]# docker rmi bdc169d27d36Error response from daemon: conflict: unable to delete bdc169d27d36 (must be forced) - image is referenced in multiple repositories[root@localhost ~]# docker rmi bdc169d27d36 -fUntagged: 20.0.0.149:5000/httpd:latestUntagged: 20.0.0.149:5000/httpd@sha256:8f10edef61246c6c142a87304d4ffa68298662ecb619776e4e9817d06ec5f567Untagged: httpd:latestUntagged: httpd@sha256:d5dc0d279039da76a8b490d89a5c96da83a33842493d4336b42ccdfbd36d7409Deleted: sha256:bdc169d27d36e2438ec8452c7dd7a52a05561b5de7bef8391849b0513a6f774bDeleted: sha256:6535aa332fb72ca508f550fef8ffb832d4c6bc72a48720b42659e10d47668181Deleted: sha256:c7bce1fab718a11501a672c895a729b1fdf8099d00fe152bef8c2534ee455976Deleted: sha256:75b6b2392924b062257ed97e5c2f3aa9f50a922b94c3f7c342d0aed2370e8becDeleted: sha256:267e2020b1bd0b182eb02d1a0f3e2f72efc542890ef6159ed9c3570322608de0Deleted: sha256:b60e5c3bcef2f42ec42648b3acf7baf6de1fa780ca16d9180f3b4a3f266fe7bc[root@localhost ~]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEregistry latest 708bc6af7e5e 2 months ago 25.8MB[root@localhost ~]#

测试:

[root@localhost ~]# docker pull 20.0.0.149:5000/httpdUsing default tag: latestlatest: Pulling from httpd123275d6e508: Pull completee984dd982a6e: Pull complete963280e5cf81: Pull complete6faf90d050b2: Pull complete962b56984bb0: Pull completeDigest: sha256:8f10edef61246c6c142a87304d4ffa68298662ecb619776e4e9817d06ec5f567Status: Downloaded newer image for 20.0.0.149:5000/httpd:latest20.0.0.149:5000/httpd:latest[root@localhost ~]#

拉取成功并且拉取镜像的速度很快。

最后给出上面出现的状态码错误的问题具体解决:

到此,相信大家对"Linux中怎么搭建Docker私有仓库"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

仓库 私有 镜像 容器 目录 成功 位置 内容 命令 宿主 宿主机 状态 面的 学习 测试 实用 更深 兴趣 实用性 实际 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络安全阀使用视频 科密数据库离职表是哪个表 全国网络安全日宣传周活动 信号软件开发工程师 缓存服务器硬盘选购 零陵网络安全防线 网络技术可报考的学校 灵狐生成的数据库文件 网络安全与信息通报系统 分布式服务器的配置 部队网络安全黑板报设计图案大全 广州扬灵网络技术有限 服务器端口有什么好处 软件开发新人培训计划 西安erp软件开发前十名 网络安全哪些控制算法 结构化保护级网络安全防护措施 济宁管理软件开发哪家便宜 上海熙邻网络技术有限公司简介 软件开发合同转包如何处理 软件开发合同数据 自动化控制系统中服务器的作用 网络安全法全文 笔记 最新无线网络技术文献 服务器压缩文件怎么查看内容 党员教育数据库使用资格 在关系型数据库设计中用什么表示 matrixone数据库 学生课程数据库的查询 保护数据库的安全
0