内网环境下registry搭建步骤详解

目录
  • 背景
  • docker环境
    • 配置http可访问
    • 重新加载docker
    • 启动registry
    • 启动registry-web

背景

在实际的开发运维过程中,经常需要使用镜像仓库的情况,虽然阿里云、腾讯云等都提供了带有免费额度的镜像仓库服务,但是由于账号等问题,我们还是需要自己搭建一个镜像仓库服务,供内网环境下使用。

大致的步骤:

  • 准备docker环境
  • 配置非http访问( Insecure Registries)
  • 重新家在docker
  • 启动registry
  • 启动registry-web

docker环境

假设你的本地已经装好了docker-ce,并且可以正常运行。

参考:

docker desktop for windows
docker desktop for mac
apt-get install docker
yum install docker

配置http可访问

默认的docker与docker registry交互是需要在https的环境下交互的,但是大多数情况下我们的服务是在内网的安全环境下的,我们只需要使用http即可。 幸好docker为我们预留了可以使用http的方法。 那就是需要修改deamon.json文件。

如果你是mac或者是windows的desktop端,需要点击设置,修改docker engine里的设置:

添加图中框起来的代码:

  "insecure-registries": [
    "192.168.10.206:5000"
  ]

注:ip是下面registry服务部署的机器ip 5000时registry服务默认的暴露端口 我们可以自行修改

如果您是linux环境,需要修改/etc/docker/deamon.json文件,如果没有这个文件,可以新建。

重新加载docker

desktop在配置完之后,我们可以直接点击Apply & Restart按钮进行重启。 linux环境下

sudo systemctl status docker
sudo systemctl reload docker
sudo systemctl restart docker

其中第二个命令执行完即可,如果未生效,可以继续执行第三个命令。 第三个命令执行完之后,那些容器的启动策略不是always的就会停掉。所以我们要慎重使用这个命令。

启动registry

设定当前目录为工作环境,创建config.yml文件如下:

version: 0.1
log:
  fields:
    service: registry
storage:
  delete:
    enabled: true
  cache:
    blobdescriptor: inmemory
  filesystem:
    rootdirectory: /var/lib/registry
http:
  addr: :5000
  headers:
    X-Content-Type-Options: [nosniff]
health:
  storagedriver:
    enabled: true
    interval: 10s
    threshold: 3

执行命令:

mkdir data
docker run -d \
    --name registry-server \
    --restart=always \
    -p 5000:5000 \
    -v `pwd`/data:/var/lib/registry \
    -v `pwd`/config.yml:/etc/docker/registry/config.yml \
    registry

访问ip:5000/v2/_catalog即为部署成功

测试:

docker pull alpine
docker tag alpine:latest 192.168.10.206:5000/alpine:latest
docker push 192.168.10.206:5000/alpine:latest

启动registry-web

由于官方的registry只是提供了api,没有一个图形化界面供显示和操作,所以我们可以利用第三方提供的镜像启动一个图形化页面。

进入一个工作目录。 创建config.yml文件

registry:
  # Docker registry url
     url: http://192.168.10.206:5000/v2
     # Docker registry fqdn
     name: localhost:5000
     # To allow image delete, should be false
     readonly: false
     auth:
     # Disable authentication
         enabled: false

启动容器

docker run -d \
    -p 8080:8080 \
    --name registry-web \
    --restart=always \
    -v $(pwd)/config.yml:/conf/config.yml:ro \
    hyper/docker-registry-web

访问ip:8080,看到如下页面,大功告成。

以上就是内网环境下registry搭建步骤详解的详细内容,更多关于内网环境registry搭建的资料请关注我们其它相关文章!

(0)

相关推荐

  • Docker Registry搭建私有镜像仓库的实现方法

    微服务的镜像会上传到Docker仓库保存,常用的公网Docker仓库有阿里云,网易云等,在企业局域网也可以搭建自己的Docker私有仓库,本教程使用Docker提供的私有仓库registry. 1.拉取私有仓库镜像 docker pull registry 2.创建启动私有仓库容器 docker run -dit -v /data/registry:/var/lib/registry -p 5000:5000 --restart=always --name docker-registry reg

  • Docker搭建私有仓库(registry与Harbor)的实现

    随着docker使用的镜像越来越多,就需要有一个保存镜像的地方,这就是仓库.目前常用的两种仓库:公共仓库和私有仓库.最方便的就是使用公共仓库上传和下载,下载公共仓库的镜像是不需要注册的,但是上传时,是需要注册的. 私有仓库最常用的就是registry.Harbor两种,那接下来详细介绍如何创建私有仓库. 一.搭建registry私有仓库 1)案例描述 两台docker服务器,dockerA创建registry私有仓库,dockerB用于测试! 2)案例实例 (1)DockerA服务器的操作 [r

  • docker registry 私有仓库的搭建过程

    目录 摘要 一.环境准备 二.配置registry私有仓库 三.上传与下载镜像 四.配置registry加载身份验证 五. docker registry 私有仓库查询.删除 博文参考 摘要 随着docker使用的镜像越来越多,就需要有一个保存镜像的地方,这就是仓库.目前常用的两种仓库:公共仓库和私有仓库.最方便的就是使用公共仓库上传和下载,下载公共仓库的镜像是不需要注册的,但是上传时,是需要注册的.私有仓库最常用的就是Registry.Harbor两种,那接下来详细介绍如何搭建registry

  • Docker 搭建私有仓库(registry、harbor)

    为什么要弄私有仓库,大多是为了速度,我们再私有仓库中的push和pull的速度是特别快的. 利用registry快速搭建 https://hub.docker.com/_/registry/ Run a local registry: Quick Version $ docker run -d -p 5000:5000 --restart always --name registry registry:2 Now, use it from within Docker: $ docker pull

  • docker使用registry搭建本地镜像仓库实例详解

    目录 一.系统环境 二.前言 三.使用registry搭建私有镜像仓库 3.1 环境介绍 3.2 k8smaster节点配置镜像仓库 3.3 k8sworker1节点配置从私有仓库上传和拉取镜像 3.3.1 上传镜像到私有仓库 3.3.2 从私有仓库里拉取镜像 四.附录:删除私有仓库镜像的Python脚本 一.系统环境 服务器版本 docker软件版本 CPU架构 CentOS Linux release 7.4.1708 (Core) Docker version 20.10.12 x86_6

  • docker registry私服搭建的方法

    目前为止,docker官方的registry镜像分为两个版本,v2和v2以前的版本,我管它叫v1,v1使用python编写的,之后的v2用的go语言,而且它们的API也不一样,本文将分别搭建基于SSL和登录认证的以上两个版本的docker私服. registry(v2) 搭建环境:172.16.71.52 (contos7,docker1.8) 首先下载镜像 docker pull resigtry:2 创建证书 mkdir -p certs && openssl req \ -newke

  • 内网环境下registry搭建步骤详解

    目录 背景 docker环境 配置http可访问 重新加载docker 启动registry 启动registry-web 背景 在实际的开发运维过程中,经常需要使用镜像仓库的情况,虽然阿里云.腾讯云等都提供了带有免费额度的镜像仓库服务,但是由于账号等问题,我们还是需要自己搭建一个镜像仓库服务,供内网环境下使用. 大致的步骤: 准备docker环境 配置非http访问( Insecure Registries) 重新家在docker 启动registry 启动registry-web docke

  • Vue源码之rollup环境搭建步骤详解

    目录 搭建环境 建立rollup配置文件 创建入口文件 打包前准备 打包 测试一下 搭建环境 第一步 进行初始化,在终端输入npm init -y生成package.json文件,可以记住所有开发相关的依赖. 第二步 --在终端输,入安装依赖 npm install rollup rollup-plugin-babel @babel/core @babel/preset-env --save-dev 注: 安装rollup打包工具,可能需要编译高级语法所以需要安装babel,安装babel需要在

  • 从web到内网渗透的一次过程详解

    目录 记一次从web到内网的渗透 拓扑图 环境介绍 渗透过程 target1 target2 taget3 记一次从web到内网的渗透 拓扑图 环境介绍 现在有三台机器,分别为target1,target2,target3,里面分别有三个flag,每个flag的分值不同,需要通过拿下一个已知IP(target1)进而向内网里面进行渗透,最终要成功获得三台主机权限 渗透过程 target1 使用nmap进行扫描 可以看到开启了80端口 浏览器访问目标靶机80端口 可以看到就是apache的默认页面

  • JAVA开发环境Vs code配置步骤详解

    目录 下载JDK 配置环境变量 安装完插件之后,打开code的“文件”-“首选项”-“设置”,进行参数设置,配置java和maven的路径,如下所示,配置完成就可以进行Java开发了. 点击settings.json,把下面的写进去. ("C:\\Program Files\\Java\\jdk1.8.0_172",)是你自己的jdk地址. "java.home": "C:\\Program Files\\Java\\jdk1.8.0_172",

  • Vue使用枚举类型实现HTML下拉框步骤详解

    下拉框包含option中的Value和用来显示的选项, 一般后台都是使用的Value值,而不是显示在前台的选项 第一步: 编写下拉框需要的枚举类型 StatusEnum.java public enum StatusEnum { RED, YELLOW, GREEN } 第二步: 编写用来存放下拉框中对应的option中的Value和显示的选项 StatusDTO.java public class StatusDTO { private String code; private String

  • 教你安装eclipse2021并配置内网maven中心仓库的图文详解

    下载Eclipse2021并运行安装包,选择Eclipse IDE for Java Developers 默认安装路径 ,点击 INSTALL进行安装 安装 中... 安装完成,点击LAUNCH启动Eclipse2021 选择默认工作空间  启 动并加载插件中... 成功启动并显示IDE界面 下面是内网Maven仓库 登陆内网仓库 并复制中心仓库地址: 添加maven路径 添加前提是你先安装好maven,这里安装的是maven 3.8.1 点击Finish完成添加 添加成功后会显示如下 添加m

  • Linux系统多网卡环境下的路由配置详解

    Linux下路由配置命令 1. 添加主机路由 route add -host 192.168.1.11 dev eth0 route add -host 192.168.1.12 gw 192.168.1.1 2. 添加网络路由 route add -net 192.168.1.11 netmask 255.255.255.0 eth0 route add -net 192.168.1.11 netmask 255.255.255.0 gw 192.168.1.1 route add -net

  • python+webdriver自动化环境搭建步骤详解

    python是一个很好脚本语言工具,现在也比较流行的一个脚本语言工具,对目前web自动化可以用的比较是webdriver框架进行自动化测试,脚本写起来较简单,运行的占用的内容较小.那么对windown下python+webdriver自动化环境如何进行搭建. 下载一个python.exe文件,直接默认安装即可 配置python的环境,指定到python的路径 安装pip环境,从网上下载一个pip,解压完成后,进入解压目录下执行python setup install 安装selenium文件,在

  • windows环境下tensorflow安装过程详解

    一.前言 本次安装tensorflow是基于Python的,安装Python的过程不做说明(既然决定按,Python肯定要先了解啊):本次教程是windows下Anaconda安装Tensorflow的过程(cpu版,显卡不支持gpu版的...) 二.安装环境 (tensorflow支持的系统是64位的,windows和linux,mac都需要64位) windows7(其实和windows版本没什么关系,我的是windows7,安装时参照的有windows10的讲解) Python3.5.2(

  • 在CentOS 7环境下安装Redis数据库详解

    正如我们所知的那样,Redis是一个开源的.基于BSD许可证的,基于内存的.键值存储NoSQL数据库.Redis经常被视为一个数据结构服务器,因为Redis支持字符串strings.哈希hashes.列表lists.集合sets.有序集sorted sets等数据结构.Redis还支持像事务Transitions.发布和订阅这样的数据类型.有鉴于此,Redis经常被认为是更强大的Memcache. 本文主要讲述Redis在CentOS 7环境下的安装有什么不同.假定CentOS 7 Server

随机推荐