快速搭建Docker私有仓库指南

Docker 私有仓库用于在本地网络中存储、管理镜像,避免依赖公共仓库,提高安全性和传输效率。以下是相关概念、搭建步骤及注意事项:

核心概念

私有仓库(Private Registry) 基于 Docker 官方的 registry 镜像搭建的本地镜像仓库,用于存储私有镜像(如公司内部开发的应用镜像),仅允许授权用户访问。

1.拉取私有仓库

bash 复制代码
[root@docker_dev docker-files]# docker pull registry

2.启动私有仓库

bash 复制代码
[root@docker_dev docker-files]# docker run -id --name=regitry -p 5000:5000 registry
00d0b73d3efbbdf3656fecec597c20f63383f788b330736f5722fd8322b6fc0d

3.访问私有仓库

http://私有仓库服务器IP:5000/v2/_catatlog

4.修改daem.json

信任自己搭建的私有仓库,将地址追加到配置的加速里面

bash 复制代码
[root@docker_dev docker-files]# vim /etc/docker/daemon.json 
[root@docker_dev docker-files]# cat /etc/docker/daemon.json 
{
  "registry-mirrors": ["https://docker.unsee.tech","https://mirror.ccs.tencentyun.com","https://docker.m.daocloud.io"],
  "insecure-registries": ["192.168.198.155:5000"]
}
#重启docker服务生效
[root@docker_dev docker-files]# systemctl restart docker

5.将镜像上传至私有仓库

镜像标签规范

  • 推送 / 拉取时必须使用完整标签(含仓库地址),否则会默认操作 Docker 官方仓库。
bash 复制代码
#标记为私有仓库的镜像
[root@docker_dev docker-files]# docker tag centos_feng:1 192.168.198.155:5000/centos_yum:1.0
#注意上一步将docker服务重启了,运行的容器会自动关闭,需要将registry这个容器重新启动
#上传镜像
[root@docker_dev docker-files]# docker push 192.168.198.155:5000/centos_yum:1.0
The push refers to repository [192.168.198.155:5000/centos_yum]
174f56854903: Pushed 
1.0: digest: sha256:e167d9e35ab2525d1b4ce91925c6e6abb9e8306766e78090cbbb5cf55f1eb504 size: 529

6.拉取私有镜像仓库的镜像

bash 复制代码
[root@docker_dev docker-files]# docker pull 192.168.198.155:5000/centos_yum:1.0
1.0: Pulling from centos_yum
Digest: sha256:e167d9e35ab2525d1b4ce91925c6e6abb9e8306766e78090cbbb5cf55f1eb504
Status: Downloaded newer image for 192.168.198.155:5000/centos_yum:1.0
192.168.198.155:5000/centos_yum:1.0
[root@docker_dev docker-files]# docker images;
REPOSITORY                        TAG       IMAGE ID       CREATED             SIZE
192.168.198.155:5000/centos_yum   1.0       09dfdbc14765   About an hour ago   204MB
相关推荐
小敬爱吃饭20 小时前
Ragflow Docker部署及问题解决方案(界面为Welcome to nginx,ragflow上传文件失败,Docker中的ragflow-cpu-1一直重启)
人工智能·python·nginx·docker·语言模型·容器·数据挖掘
杨云龙UP20 小时前
从0到1快速学会Linux操作系统(基础),这一篇就够了!
linux·运维·服务器·学习·ubuntu·centos·ssh
HXQ_晴天20 小时前
Ubuntu 设置中文输入法
linux·运维·ubuntu
Dovis(誓平步青云)20 小时前
《Linux 信号入门:搞懂 “进程通信的紧急电话” 到底怎么用(初篇)》
linux·运维·服务器
0vvv020 小时前
删除wsl环境下的Ubuntu系统
linux·运维·ubuntu
木子欢儿21 小时前
Docker Hub 镜像发布指南
java·spring cloud·docker·容器·eureka
C++ 老炮儿的技术栈21 小时前
GCC编译时无法向/tmp 目录写入临时汇编文件,因为设备空间不足,解决
linux·运维·开发语言·汇编·c++·git·qt
Agent产品评测局21 小时前
企业数据处理自动化落地,抓取分析全流程实现方案 —— 2026企业级智能体选型与技术路径深度解析
运维·人工智能·ai·自动化
我科绝伦(Huanhuan Zhou)1 天前
分享一个网络智能运维系统
运维·网络
鬼先生_sir1 天前
Spring Cloud 微服务监控实战:SkyWalking + Prometheus+Grafana 全栈解决方案
运维·spring cloud·grafana·prometheus·skywalking