快速搭建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
相关推荐
小小的木头人4 小时前
Windows Docker desktop 部署
运维·kafka
jiuri_12154 小时前
Docker使用详解:在ARM64嵌入式环境部署Python应用
python·docker·容器
wanhengidc5 小时前
云手机和虚拟机的区别都有哪些?
运维·服务器·安全·智能手机·玩游戏
williamdsy5 小时前
【Docker】[特殊字符] Docker 部署完全指南 - 从本地开发到云服务器
服务器·docker·开发部署流程
黄思搏5 小时前
Docker基础教程 - 容器化部署入门指南
docker
Mr.小海5 小时前
gunicorn和docker冲突吗
docker·容器·gunicorn
码农周5 小时前
从零搭建vsftpd服务器:避坑指南+实战解决方案
运维·服务器
<但凡.7 小时前
Linux修炼:库制作与原理(一)
linux·运维·服务器
Maple_land9 小时前
编译器的“隐形约定”与本地变量:解锁Linux变量体系的关键密码
linux·运维·服务器·c++·centos