快速搭建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
相关推荐
FL16238631291 分钟前
win11+WSL+Ubuntu-xrdp+远程桌面闪退+黑屏闪退解决
linux·运维·ubuntu
挖土机_00829 分钟前
Kubernetes 1.35 原地扩容(In-Place Pod Resize)完整解析:机制、差异与实战示例
docker·kubernetes
AOwhisky43 分钟前
Linux逻辑卷管理:从“固定隔间”到“弹性存储池”的智慧
linux·运维·服务器
05大叔1 小时前
大事件Day02
运维·服务器
左直拳2 小时前
将c++程序部署到docker
开发语言·c++·docker
五仁火烧2 小时前
Vue3 项目的默认端口行为
服务器·vue.js·nginx·容器·vue
C Yu小白2 小时前
Linux系统调用与文件操作详解
linux·运维·服务器
ZFB00012 小时前
【麒麟桌面系统】V10-SP1 2503 系统知识——常见用户组简介
linux·运维·kylin
acrelgxy2 小时前
告别被动抢修与盲目巡检!安科瑞运维云平台,让电力系统实现预测性守护。
运维·电力监控系统·智能电力仪表
EndingCoder2 小时前
类的继承和多态
linux·运维·前端·javascript·ubuntu·typescript