docker简单私有仓库的搭建

2024-08-31 07:12

本文主要是介绍docker简单私有仓库的搭建,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

示例: 【搭建简单的Registry仓库】

1. 下载 Registry 镜像 
[root@docker ~]# docker pull registry
#可以查看开放的端口,需要把端口暴露出来
[root@docker ~]# docker history registry:latest 
[root@docker ~]# docker run -d -p 5000:5000 --restart=always registry
9f389c98fbd2163fb6487a5bfd2358751eb4ecb07eb47f463ae76f12b117361c
[root@docker ~]# docker ps
CONTAINER ID   IMAGE      COMMAND                  CREATED          STATUS          PORTS                                       NAMES
9f389c98fbd2   registry   "/entrypoint.sh /etc…"   14 seconds ago   Up 12 seconds   0.0.0.0:5000->5000/tcp, :::5000->5000/tcp   hardcore_saha
#推送push   #把当前镜像 nginx:v2 推送到 5000 端口
[root@docker ~]# docker tag nginx:v2 172.25.254.5:5000/nginx.v3
[root@docker ~]# docker push 172.25.254.5:5000/nginx.v3
Using default tag: latest
The push refers to repository [172.25.254.5:5000/nginx.v3]
Get "https://172.25.254.5:5000/v2/": http: server gave HTTP response to HTTPS client
## 默认用 https 的方式:得做认证
[root@docker ~]# 
#也可以不用https,而用http的方式,必须得配置非加密端口信息。/etc/docker/daemon.json
[root@docker ~]# vim /etc/docker/daemon.json 
[root@docker ~]# cat /etc/docker/daemon.json 
{
  "insecure-registries" : ["http://172.25.254.5:5000"]
}
[root@docker ~]# systemctl restart docker
[root@docker ~]# docker push 172.25.254.5:5000/nginx.v3
Using default tag: latest
The push refers to repository [172.25.254.5:5000/nginx.v3]
54a2c5fcea1c: Pushed 
a8df99e45168: Pushed 
174f56854903: Pushed 
latest: digest: sha256:2d45824da0f28c4087c7a2c009cc4dba14efc637fdd8bef91fd49a1dcbda8b8c size: 947
## 推上去的数据在哪?
[root@docker ~]# docker ps
CONTAINER ID   IMAGE      COMMAND                  CREATED          STATUS         PORTS                                       NAMES
9f389c98fbd2   registry   "/entrypoint.sh /etc…"   13 minutes ago   Up 4 minutes   0.0.0.0:5000->5000/tcp, :::5000->5000/tcp   hardcore_saha
[root@docker ~]# docker inspect hardcore_saha 
真机中位于:
# 最终数据位于容器的:
# 进去真机中的路径下看看,有 nginx:v3
[root@docker ~]# cd /var/lib/docker/volumes/fbc4139d10af9999ee19f7856fb7b5d187337af25eb9c927ef0e99eff304f0f0/_data
[root@docker _data]# ls
docker
[root@docker _data]# cd docker/
[root@docker docker]# cd registry/
[root@docker registry]# ls
v2
[root@docker registry]# cd v2/
[root@docker v2]# ls
blobs  repositories
[root@docker v2]# cd repositories/
[root@docker repositories]# l
bash: l: command not found...
[root@docker repositories]# ls
nginx.v3
[root@docker ~]# curl 172.25.254.5:5000/v2/_catalog
{"repositories":["nginx.v3"]}
# 再推一个试试:
[root@docker ~]# docker tag busybox:latest 172.25.254.5:5000/busybox:xixi
[root@docker ~]# docker push 172.25.254.5:5000/busybox:xixi 
The push refers to repository [172.25.254.5:5000/busybox]
d51af96cf93e: Pushed 
xixi: digest: sha256:28e01ab32c9dbcbaae96cf0d5b472f22e231d9e603811857b295e61197e40a9b size: 527

 

这篇关于docker简单私有仓库的搭建的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1123231

相关文章

vite搭建vue3项目的搭建步骤

《vite搭建vue3项目的搭建步骤》本文主要介绍了vite搭建vue3项目的搭建步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1.确保Nodejs环境2.使用vite-cli工具3.进入项目安装依赖1.确保Nodejs环境

Nginx搭建前端本地预览环境的完整步骤教学

《Nginx搭建前端本地预览环境的完整步骤教学》这篇文章主要为大家详细介绍了Nginx搭建前端本地预览环境的完整步骤教学,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录项目目录结构核心配置文件:nginx.conf脚本化操作:nginx.shnpm 脚本集成总结:对前端的意义很多

解决docker目录内存不足扩容处理方案

《解决docker目录内存不足扩容处理方案》文章介绍了Docker存储目录迁移方法:因系统盘空间不足,需将Docker数据迁移到更大磁盘(如/home/docker),通过修改daemon.json配... 目录1、查看服务器所有磁盘的使用情况2、查看docker镜像和容器存储目录的空间大小3、停止dock

idea+spring boot创建项目的搭建全过程

《idea+springboot创建项目的搭建全过程》SpringBoot是Spring社区发布的一个开源项目,旨在帮助开发者快速并且更简单的构建项目,:本文主要介绍idea+springb... 目录一.idea四种搭建方式1.Javaidea命名规范2JavaWebTomcat的安装一.明确tomcat

docker 重命名镜像的实现方法

《docker重命名镜像的实现方法》在Docker中无法直接重命名镜像,但可通过添加新标签、删除旧镜像后重新拉取/构建,或在DockerCompose中修改配置文件实现名称变更,感兴趣的可以了解一下... 目录使用标签(Tagging)删除旧的php镜像并重新拉取或构建使用docker Compose在Do

k8s搭建nfs共享存储实践

《k8s搭建nfs共享存储实践》本文介绍NFS服务端搭建与客户端配置,涵盖安装工具、目录设置及服务启动,随后讲解K8S中NFS动态存储部署,包括创建命名空间、ServiceAccount、RBAC权限... 目录1. NFS搭建1.1 部署NFS服务端1.1.1 下载nfs-utils和rpcbind1.1

Python实现简单封装网络请求的示例详解

《Python实现简单封装网络请求的示例详解》这篇文章主要为大家详细介绍了Python实现简单封装网络请求的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录安装依赖核心功能说明1. 类与方法概览2.NetHelper类初始化参数3.ApiResponse类属性与方法使用实

docker编写java的jar完整步骤记录

《docker编写java的jar完整步骤记录》在平常的开发工作中,我们经常需要部署项目,开发测试完成后,最关键的一步就是部署,:本文主要介绍docker编写java的jar的相关资料,文中通过代... 目录all-docker/生成Docker打包部署文件配置服务A的Dockerfile (a/Docke

Java 单元测试之Mockito 模拟静态方法与私有方法最佳实践

《Java单元测试之Mockito模拟静态方法与私有方法最佳实践》本文将深入探讨如何使用Mockito来模拟静态方法和私有方法,结合大量实战代码示例,带你突破传统单元测试的边界,写出更彻底、更独立... 目录Mockito 简介:为什么选择它?环境准备模拟静态方法:打破“不可变”的枷锁传统困境解法一:使用M

Docker多阶段镜像构建与缓存利用性能优化实践指南

《Docker多阶段镜像构建与缓存利用性能优化实践指南》这篇文章将从原理层面深入解析Docker多阶段构建与缓存机制,结合实际项目示例,说明如何有效利用构建缓存,组织镜像层次,最大化提升构建速度并减少... 目录一、技术背景与应用场景二、核心原理深入分析三、关键 dockerfile 解读3.1 Docke