2docker私有镜像仓库registry
3 docker私有镜像仓库
3.1准备服务器
重新安装CENTOS7,加大磁盘空间。
|
ip |
配置 |
登录 |
|
192.168.168.168 |
4核虚拟CPU/4G内存/300G磁盘 |
22/密钥登陆/LCZY@mv-1 |
3.2服务器初始化
密钥登陆:
防火墙:
sed -i "s#SELINUX=enforcing#SELINUX=disabled#g" /etc/selinux/config
setenforce 0
systemctl stop firewalld
systemctl disable firewalld
Yum源:
vi /etc/yum.repos.d/CentOS-Base.repo
替换163源,见附件。直接清空原有内容,复制粘贴。
亦或上传附件,cat 附件 > /etc/yum.repos.d/CentOS-Base.repo
然后 yum clean all yum makecache
docker安装,同上1.4.
3.3Docker Registry快速搭建私有镜像
3.3.1拉取镜像
docker pull registry

3.3.2 运行
docker run -d -v /home/registory:/var/lib/registry -p 5000:5000 --restart=always --privileged=true --name registry registry:latest
参数说明
-itd:在容器中打开一个伪终端进行交互操作,并在后台运行;
-v:把宿主机的/home/registory目录绑定 到 容器/var/lib/registry目录(这个目录是registry容器中存放镜像文件的目录),来实现数据的持久化;
-p:映射端口;访问宿主机的5000端口就访问到registry容器的服务了;
--restart=always:这是重启的策略,假如这个容器异常退出会自动重启容器;
--name registry:创建容器命名为registry,你可以随便命名;
registry:latest:这个是刚才pull下来的镜像;

3.3.3使用
3.3.3.1首先拉取nginx镜像。
当我们执行 docker pull xxx 的时候,它实际上是从 registry.hub.docker.com 这个地址去查找,这就是Docker公司为我们提供的公共仓库。
[root@docker-registry ~]# docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
bc51dd8edc1b: Pull complete
66ba67045f57: Pull complete
bf317aa10aa5: Pull complete
Digest: sha256:ad5552c786f128e389a0263104ae39f3d3c7895579d45ae716f528185b36bc6f
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest
3.3.3.2 tag
将nginx重新tag,注意:“/”前边是你的仓库所在服务器的ip+映射的端口
[root@docker-registry ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 2073e0bcb60e 3 weeks ago 127MB
registry latest 708bc6af7e5e 4 weeks ago 25.8MB
[root@docker-registry ~]# docker tag nginx:latest 192.168.168.168:5000/nginxtest:latest
[root@docker-registry ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
192.168.168.168:5000/nginxtest latest 2073e0bcb60e 3 weeks ago 127MB
nginx latest 2073e0bcb60e 3 weeks ago 127MB
registry latest 708bc6af7e5e 4 weeks ago 25.8MB
3.3.3.3 push上传到私有仓库
[root@docker-registry ~]# docker push 192.168.168.168:5000/nginxtest:latest
The push refers to repository [192.168.168.168:5000/nginxtest]
Get https://192.168.168.168:5000/v2/: http: server gave HTTP response to HTTPS client
出现报错,原因是docker私有仓库服务器,默认是https协议,所以我们需要进行修改不使用https。因此,修改(若无此文件就创建)
[root@docker-registry ~]# vim /etc/docker/daemon.json
添加:
{
"insecure-registries":["192.168.168.168:5000"]
}
重启docker服务
[root@docker-registry ~]# systemctl daemon-reload
[root@docker-registry ~]# systemctl restart docker
重启后看到我们之前always启动的registry,自动运行。
[root@docker-registry ~]# docker ps

重新上传push操作。成功。
[root@docker-registry ~]# docker push 192.168.168.168:5000/nginxtest:latest
The push refers to repository [192.168.168.168:5000/nginxtest]
22439467ad99: Pushed
b4a29beac87c: Pushed
488dfecc21b1: Pushed
latest: digest: sha256:62f787b94e5faddb79f96c84ac0877aaf28fb325bfc3601b9c0934d4c107ba94 size: 948
3.3.3.4测试拉取功能
首先删除原有的镜像
[root@docker-registry ~]# docker rmi 192.168.168.168:5000/nginxtest:latest
Untagged: 192.168.168.168:5000/nginxtest:latest
Untagged: 192.168.168.168:5000/nginxtest@sha256:62f787b94e5faddb79f96c84ac0877aaf28fb325bfc3601b9c0934d4c107ba94
Deleted: sha256:2073e0bcb60ee98548d313ead5eacbfe16d9054f8800a32bedd859922a99a6e1
Deleted: sha256:a3136fbf38691346715cac8360bcdfca0fff812cede416469653670f04e2cab0
Deleted: sha256:99360ffcb2da18fd9ede194efaf5d4b90e7aee99f45737e918113e6833dcf278
Deleted: sha256:488dfecc21b1bc607e09368d2791cb784cf8c4ec5c05d2952b045b3e0f8cc01e
[root@docker-registry ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
registry latest 708bc6af7e5e 4 weeks ago 25.8MB
尝试拉取镜像操作,发现速度飞快。
[root@docker-registry ~]# docker pull 192.168.168.168:5000/nginxtest:latest
latest: Pulling from nginxtest
bc51dd8edc1b: Pull complete
66ba67045f57: Pull complete
bf317aa10aa5: Pull complete
Digest: sha256:62f787b94e5faddb79f96c84ac0877aaf28fb325bfc3601b9c0934d4c107ba94
Status: Downloaded newer image for 192.168.168.168:5000/nginxtest:latest
192.168.168.168:5000/nginxtest:latest
3.3.4查看
3.3.4.1 私有云docker镜像列表
[root@docker-registry ~]# curl -XGET http://192.168.168.168:5000/v2/_catalog
{"repositories":["nginxtest"]}
3.3.4.2 查看某个镜像的标签列表
[root@docker-registry ~]# curl -XGET http://192.168.168.168:5000/v2/nginxtest/tags/list
{"name":"nginxtest","tags":["latest"]}
3.3.4.3 服务器文件
[root@docker-registry repositories]# ls
nginxtest
[root@docker-registry repositories]# pwd
/home/registory/docker/registry/v2/repositories
2docker私有镜像仓库registry的更多相关文章
- 搭建私有镜像仓库registry 2.0
搭建 docker run -d -p 5000:5000 --restart=always --name registry2 registry:2 就可以将自己的镜像 push到这个私有的镜像仓库 ...
- 8天入门docker系列 —— 第六天 搭建自己的私有镜像仓库Registry
这一篇我们来聊聊私有仓库的搭建,其实不管你是通过docker build还是compose的方式进行构建,最终还是要将生成好的镜像push到远程的仓库中,这样多个 平台可以方便的获取你registry ...
- docker配置私有镜像仓库-registry和hyper/docker-registry-web
1.前言️ Docker hub是远程仓库,是国外的,push pull速度特别慢,尤其是网速不好的时候,页面都点不进去,官网 但是可以配置阿里云镜像加速哦: 因此搭建一个私有的镜像仓库用于管理我们 ...
- [转]Ubuntu18.04下使用Docker Registry快速搭建私有镜像仓库
本文转自:https://blog.csdn.net/BigData_Mining/article/details/88233015 1.背景 在 Docker 中,当我们执行 docker pull ...
- 使用docker Registry快速搭建私有镜像仓库
当我们执行docker pull xxx的时候,docker默认是从registry.docker.com这个地址上去查找我们所需要的镜像文件,然后执行下载操作.这类的镜像仓库就是docker默认的公 ...
- 搭建docker registry私有镜像仓库
搭建docker registry私有镜像仓库 一.安装docker-distribution yum install -y docker-distribution 安装完成后,启动服务: syste ...
- 基于 registry 搭建 Docker 私有镜像仓库
今天主要介绍使用 registry 来搭建 Docker私有镜像仓库,方便在公司内部项目中使用,registry 也是 Docker 官方提供的一个镜像,操作也很简单. dockerhub: http ...
- 详解docker实战之搭建私有镜像仓库 - kurbernetes
1.实战目的 搭建企业私有的镜像仓库,满足从开发环境推送和拉取镜像.当我们使用k8s来编排和调度容器时,操作的基本单位是镜像,所以需要从仓库去拉取镜像到当前的工作节点.本来使用公共的docker hu ...
- 【Docker】(4)搭建私有镜像仓库
[Docker](4)搭建私有镜像仓库 说明 1. 这里是通过阿里云,搭建Docker私有镜像仓库. 2. 这里打包的镜像是从官网拉下来的,并不是自己项目创建的新镜像,主要测试功能 一.搭建过程 首先 ...
- 手动搭建Docker本地私有镜像仓库
实验环境:两个Centos7虚拟机,一个是Server,用作客户端,另一个是Registry,用作Docker私有镜像仓库. 基础配置 查看一下两台虚拟机的IP地址 Server的IP地址是192.1 ...
随机推荐
- C/C++ 以及 Rust 中的 getch() 实现
getch 是一个在 C 语言编程中常用的函数,用于从键盘读取一个字符,但不回显到屏幕上. 在 Windows 环境下,getch 实现通常包含在 <conio.h> 头文件中.需要注意的 ...
- DeepSeek文本和编程测试
2025年春节期间,能直面电影<哪吒2>锋芒的,也就只有号称"国运级"的大模型DeepSeek了. 在科技圈里,这句话也可以反过来说. DeepSeek为什么能爆火,自 ...
- Thymeleaf遍历选中多个复选框
使用场景:用户角色一对多关联关系 <!-- roleList:所有角色信息 :userRoleList:用户已有角色id列表--> <input th:each="role ...
- autMan奥特曼机器人-对插件权限的管理
为了避免某些插件在用户不知情的情况下读取使用用户隐私数据,受" 安卓手机上安装的应用需申请电话.位置.通讯录等权限 "的启发,autMan增加了数据桶读取权限设置页面. 当前受限制 ...
- 八米云高收益PCDN-N1设备重要通知
八米云单价: 电联2400元/G/月 移动1500元/G/月 新上机设备[必须使用新镜像]上机!否则无业务下发! 再次强调!如6.18日后台镜像更新后–还在使用旧镜像新上机,请务必于[6月30日]前用 ...
- ADF - [02] 概念
题记部分 001 || 管道和活动 一个数据工厂可以有一个或多个管道(Pipeline).管道是共同执行一项任务的活动的逻辑分组.管道可以包含一组活动(Activity),这些活动引入和清除日志数据, ...
- rust学习笔记(9)
属性 属性是应用于某些模块.crate 或项的元数据(metadata). 可见性 分为整个crate可见和,使用#![] 例子 一个简单的例子,运行程序中存在未被使用的代码 #[allow(dead ...
- JS数组相减
const arr1 = [1, 2, 3] const arr2 = [1, 3] const arr3 = arr1.filter(v => !arr2.includes(v)) // [2 ...
- PHP的回调函数
所谓的回调函数,就是指调用函数时并不是向函数中传递一个标准的变量作为参数,而是将另一个函数作为参数传递到调用的函数中,这个作为参数的函数就是回调函数.通俗的来说,回调函数也是一个我们定义的函数,但是不 ...
- PVE下安装Centos8.5.2111系统
1.从阿里云镜像下载下载地址:https://mirrors.aliyun.com/centos/8/isos/x86_64/CentOS-8.5.2111-x86_64-boot.iso2.上传镜像 ...