搭建Docker私有镜像仓库

大家好,今天给大家分享一下如何搭建私有镜像仓库,私有镜像仓库可以更好地管理和控制镜像的访问和使用,确保只有授权的人员能够获取和使用特定的镜像,而且方便团队内部共享定制化的镜像,提高开发和部署效率,不需要每次都从外部获取镜像,减少网络延迟和不稳定因素的影响,还能够对镜像进行版本控制,方便回滚和追踪,有利于资源整合,将常用的镜像集中存储和管理,便于资源的统一调配和利用。

一、配置Docker信任地址

修改Docker守护进程配置文件:

bash 复制代码
vi /etc/docker/daemon.json

通过vi打开文件后,添加文件内容如下:

bash 复制代码
 {
   "insecure-registries":["http://你的ip地址:8090"]
 }

修改完成后,保存退出 。

重新加载Docker守护进程配置并重启Docker。

bash 复制代码
systemctl daemon-reload
systemctl restart docker

二、下载安装简化版的镜像仓库

下载registry镜像

bash 复制代码
docker pull registry

等待下载完成...

下载完成后,启动registry容器。

bash 复制代码
mkdir /opt/registry-ui/registry-data # 创建存放registry数据的目录

docker run -d \
    --restart=always \
    --name registry \
    -p 5000:5000 \
    -v /opt/registry-ui/registry-data:/var/lib/registry \
    registry

这条命令的解释:

-d:以守护进程模式运行容器。

--restart=always:容器在退出后总是自动重启。

--name registry:为容器指定名称为 registry。

-p 5000:5000:将主机的 5000 端口映射到容器的 5000 端口。

-v /opt/registry-ui/registry-data:/var/lib/registry:将主机的 /opt/registry-ui/registry-data 目录挂载到容器的 /var/lib/registry 目录。

registry:指定要运行的容器镜像为 registry。

查看容器运行状态。

容器启动成功。

三、下载安装docker-registry-ui

bash 复制代码
docker run -p 8090:80 --name registry-ui \
--restart=always \
-e REGISTRY_URL="http://你的ip地址:5000" \
-e DELETE_IMAGES="true" \
-e REGISTRY_TITLE="这是一个私有仓库" \
-e CATALOG_ELEMENTS_LIMIT="1000" \
-d joxit/docker-registry-ui:static

在这条命令的解释:

-p 8090:80:将主机的 8090 端口映射到容器的 80 端口。

--name registry-ui:给容器命名为 registry-ui。

--restart=always:表示容器总是自动重启。

-e REGISTRY_URL="http://你的 ip 地址:5000":设置环境变量 REGISTRY_URL 的值。

-e DELETE_IMAGES="true":设置环境变量 DELETE_IMAGES 为 true。

-e REGISTRY_TITLE="这是一个私有仓库":设置环境变量 REGISTRY_TITLE 的值。

-e CATALOG_ELEMENTS_LIMIT="1000":设置环境变量 CATALOG_ELEMENTS_LIMIT 的值。

d:表示以守护进程模式运行容器。

joxit/docker-registry-ui:static:指定要运行的容器镜像。

自动下载并且启动容器完成后,查看容器的运行状态。

此时,访问 http://你的ip地址:8090 即可访问私有镜像仓库页面。

四、设置Docker启动时启动

bash 复制代码
docker update registry --restart=always
docker update registry-ui --restart=always

五、推送镜像到私有仓库

把本地的镜像 nginx,重新tagnginx:1.0。

bash 复制代码
docker tag nginx:latest 你的ip地址:8090/nginx:1.0

把它推送到私有仓库

bash 复制代码
docker push 你的ip地址:8090/nginx:1.0

推送成功后,可以在仓库中查看到。

六、拉取私有仓库镜像

bash 复制代码
docker pull 你的ip地址:8080/nginx:1.0
相关推荐
@zulnger5 分钟前
selenium 自动化测试工具实战项目(订单)
selenium·测试工具·自动化
confiself1 小时前
GO环境配置
linux·运维·centos
可可嘻嘻大老虎6 小时前
nginx无法访问后端服务问题
运维·nginx
阳光九叶草LXGZXJ8 小时前
达梦数据库-学习-47-DmDrs控制台命令(LSN、启停、装载)
linux·运维·数据库·sql·学习
无忧智库8 小时前
某市“十五五“地下综合管廊智能化运维管理平台建设全案解析:从数字孪生到信创适配的深度实践(WORD)
运维·智慧城市
lightningyang8 小时前
DVWA 在 openEuler 系统的安装部署
docker·渗透测试·openeuler·dvwa·天枢一体化虚拟仿真靶场平台
珠海西格8 小时前
“主动预防” vs “事后补救”:分布式光伏防逆流技术的代际革命,西格电力给出标准答案
大数据·运维·服务器·分布式·云计算·能源
阿波罗尼亚9 小时前
Kubectl 命令记录
linux·运维·服务器
IDC02_FEIYA9 小时前
Linux文件搜索命令有哪些?Linux常用命令之文件搜索命令find详解
linux·运维·服务器
犀思云9 小时前
如何通过网络即服务平台实现企业数字化转型?
运维·网络·人工智能·系统架构·机器人