docker应用篇(4):搭建私服镜像中心docker-registry和docker-registry-web

news/2025/2/26 7:02:25

文章目录

  • 前言
  • 第一节、创建镜像中心
  • 第二节、测试完整流程
    • (1) 创建账号
    • (2) 推送镜像
    • (3) 退出登录
  • 第三节、扩展内容
    • 1. 多个私服的配置

前言

搭建一个私服docker镜像中心,并且需要安全认证和后台管理。
在这里插入图片描述
本文基于mkuchin/docker-registry-web提供的案例来搭建服务。
https://github.com/mkuchin/docker-registry-web

第一节、创建镜像中心

  1. 下载并解压(github国内比较慢,如果下载失败的话,多尝试几次)
curl -Ls https://github.com/mkuchin/docker-registry-web/releases/download/v0.1.2/examples.tar.gz | tar -xzv

在这里插入图片描述

  1. 切换到目录
cd examples/auth-enabled/

在这里插入图片描述

  1. 使用脚本生成私钥和自签名证书:
./generate-keys.sh

在这里插入图片描述

  1. 修改配置,进入conf/registry目录,修改ip,如果是本机测试,则不需要修改。
    在这里插入图片描述

  2. 启动

#启动
docker-compose up
#或者后台启动
docker-compose up -d

在这里插入图片描述

  1. 访问地址:http://106.13.2.249:8080/,用户名和密码是admin/admin

在这里插入图片描述
进去之后,里面是空的。
在这里插入图片描述
到这里服务器构建成功了。

第二节、测试完整流程

(1) 创建账号

  1. 打开刚刚的网址:http://106.13.2.249:8080/,创建一个账号hello,密码hello,角色分配为write-all

在这里插入图片描述

在这里插入图片描述

(2) 推送镜像

  1. 修改配置
vim  /etc/docker/daemon.json

添加信任的私服

{ "insecure-registries": ["106.13.2.249:5000"] }

在这里插入图片描述

  1. 重新加载配置和重启
# 重新加载某个服务的配置文件
systemctl daemon-reload
# 重新启动 docker
systemctl restart docker
  1. 拉取一个镜像用来测试
#拉取镜像用来测试
docker pull hello-world
  1. 登录服务器,输入创建的用户名和密码为hello/hello
docker login 106.13.2.249:5000

在这里插入图片描述

  1. 推送镜像到私有仓库((需要在登录状态下执行))
#标记镜像
docker tag hello-world 106.13.2.249:5000/myhello-world:1.0
#推送镜像到私有仓库
docker push 106.13.2.249:5000/myhello-world:1.0

在这里插入图片描述
访问web也可以查看到刚刚推送的镜像。
在这里插入图片描述

注:如果不登录,直接push就会提示需要认证。
在这里插入图片描述

  1. 拉取镜像(需要在登录状态下执行)
#拉取镜像前,可以先删除hello-world镜像,避免使用本地镜像
docker rmi -f  镜像id
#拉取刚刚推送到服务器的镜像
docker run 106.13.2.249:5000/myhello-world:1.0

在这里插入图片描述

(3) 退出登录

docker logout 106.13.2.249:5000

第三节、扩展内容

1. 多个私服的配置

vim  /etc/docker/daemon.json

添加信任的私服,填写多个ip和端口

{ "insecure-registries": ["106.13.2.249:5000","106.13.2.250:5000"] }

http://www.niftyadmin.cn/n/2135981.html

相关文章

iOS在xib或storyboard里为控件添加圆角、外框和外框颜色

如果要在xib和storyboard里为控件添加圆角和外框宽度,只要这样做就可以: layer.borderWidth 设置外框宽度属性 layer.cornerRadius 设置圆角属性 只要为属性设置value值就可以了。 当然修改完xib里看是看不出来的,要运行才看得到,…

docker应用篇(5):详解镜像中心的管理者docker-registry-web

文章目录前言认识和使用docker-registry-web1. 修改密码2. 认识角色3. 查看事件4. 新建角色并控制访问权限前言 docker-registry-web管理者docker镜像中心,本章详解docker-registry-web的使用。 如何搭建docker-registry-web,请见:docker应用篇(4):搭建…

Windows上Python2.7安装Scrapy过程

需要执行: pip install scrapy pip install requests 在Windows下用pip安装Scrapy报如下错误,看错误提示就知道去http://aka.ms/vcpython27找解决方法了 error: Microsoft Visual C 9.0 is required (Unable to find vcvarsall.bat). Get it from http:/…

HTTP协议、Ajax请求

今天这篇文章呢,主要讲的就是关于HTTP协议、Ajax请求以及一些相关的小知识点。虽然内容不算多,可是是很重点的东西~ HTTP协议 1. http:超文本传输协议。简单、快速、灵活、无状态、无连接。2. url:统一资源定位符。 组成部分:协议名://主…

如何进行Android、IOS APP的自动化测试—东舟自动化测试解决方案

金融领域移动端自动化测试解决方案—— 测试能力建设、实现敏捷测试、缩短测试周期银行们的优步(Uber)时刻即将到来,银行的实体网点将被淘汰,移动设备将成为客户和银行之间的主要沟通“中介”。花旗银行全球视角及解决方案部随着智…

docker错误:docker: Error response from daemon: Get “https://xxx:5000/v2/“: http: server gave

错误信息 docker: Error response from daemon: Get “https://106.13.2.249:5000/v2/”: http: server gave HTTP response to HTTPS client. 解决办法: 修改配置 vim /etc/docker/daemon.json添加你的docker私服的ip和端口, 单个私服务 { "insecure-registries&…

spark sql简单示例

运行环境 集群环境:CDH5.3.0 具体JAR版本如下: spark版本:1.2.0-cdh5.3.0 hive版本:0.13.1-cdh5.3.0 hadoop版本:2.5.0-cdh5.3.0 spark sql的JAVA版简单示例 spark sql直接查询JSON格式的数据 spark sql的自定义函数 …

js中将int类型转为float类型,并取位

如[javascript] view plaincopyvar a 100; 需要进行类型转换(parseFloat(a)); 然后进行取位:[javascript] view plaincopya.toFixed(2); 表示去小数点后2位,此时 a 100.00; 当然float类型就直接取了:[javascript] view plaincopyvar a …