首页 > 其他分享 >docker https 的私有 registry 搭建与测试

docker https 的私有 registry 搭建与测试

时间:2024-03-07 19:11:48浏览次数:25  
标签:xview api certs registry https docker local

 

1. registry 服务器 上的配置

# 1. 生成自签名证书
mkdir -p certs
openssl req -newkey rsa:4096 -nodes -sha256 -keyout certs/domain.key -x509 -days 36500 -out certs/domain.crt  # 一路回车,等到 Common Name (eg, your name or your server's hostname) []: 时输入域名比如 xview.registry.local 然后回车到结束

# 2. 启动docker registry服务
docker run -d --restart=always  --name registry -v "$(pwd)"/certs:/certs -v /mnt/registry:/var/lib/registry -e REGISTRY_HTTP_ADDR=0.0.0.0:443 -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt -e REGISTRY_HTTP_TLS_KEY=/certs/domain.key -p 443:443 registry:2

# 3. 在想要连接此 registry 的服务器上配置 hosts
echo "10.221.127.236 xview.registry.local" >> /etc/hosts  # 10.221.127.236 为 registry 服务器的IP

# 4. 拷贝证书到指定目录,使docker信任该证书 (该路径与证书域名有关,请按实际域名创建证书拷贝路径)
mkdir -p  /etc/docker/certs.d/xview.registry.local
cp certs/domain.crt  /etc/docker/certs.d/xview.registry.local/ca.crt

# 5. 配置 /etc/docker/daemon.json 内容如下
{
    "insecure-registries": ["xview.registry.local"]
}

# 6. 验证服务可用性
 docker images  # 假设有镜像 xview-api:1.0.4
 docker tag xview-api:1.0.4 xview.registry.local/xview-api:1.0.4  # 给镜像打个 tag
 docker push xview.registry.local/xview-api:1.0.4  # 将此镜像推到了 registry

 

2. client 端服务器配置

# 1. 在想要连接此 registry 的服务器上配置 hosts
echo "10.221.127.236 xview.registry.local" >> /etc/hosts  # 10.221.127.236 为 registry 服务器的IP

# 2. 配置 /etc/docker/daemon.json 内容如下
{
    "insecure-registries": ["xview.registry.local"]
}

# 3. 验证服务可用性
curl -k https://xview.registry.local:/v2/_catalog  # 查看 registry 上有多少个镜像
curl -k  https://xview.registry.local:/v2/xview-api/tags/list  # 查看指定镜像 xview-api 的 tags
docker pull xview.registry.local/xview-api:1.0.4  # 拉取镜像

 

标签:xview,api,certs,registry,https,docker,local
From: https://www.cnblogs.com/aaron-agu/p/18059545

相关文章

  • Docker之Window图形界面(七)
    前言前面介绍docker基本都是以控制台命令行为主,但是对于不太熟悉命令行的人来说,确实有点麻烦。再者控制台很多配置虽然能够配置,对于我们长期使用图形界面开发者来看,还是有界面比较容器上手。总的来说,Docker在Windows图形界面上的优势在于提供了直观、便捷和高效的管理和......
  • Docker使用docker-compose.yml文件(六)
    前言前面介绍的都是单个容器部署,对于多容器部署也是一个个部署。这里Docker开发了docker-compose.yml。它是一个YAML格式的文件,用于定义和运行多容器的Docker应用程序。它允许你使用单个命令来启动、停止和重启应用程序,以及管理应用程序依赖的服务。一、配置yml文件versio......
  • docker部署监控Prometheus+Grafana
    目录一、Prometheus简介二、Prometheus基本原理三、Prometheus架构图四、Prometheus特性五、Prometheus组件六、Prometheus服务发现七、部署环境八、部署主机九、部署Prometheus1、安装docker2、启动docker并设置开机自启3、下载镜像包4、创建prometheus挂载目录5、创建prometheus......
  • ARM平台实现Docker容器技术
    什么是Docker?(1)Docker的架构 Docker是一个开源的应用容器引擎,让开发者可打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows机器上,亦可实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。使用Docker,可像管理应用程序一样管理基础结构......
  • docker-compose部署单机clickhouse
    【转载:https://www.cnblogs.com/crow1840/p/17506884.html】1、创建clickhouse目录[root@localhostdocker]#lsgitlab_dockerjenkins_dockermysql_docker[root@localhostdocker]#mkdirclickhouse/conf-p2.创建docker-compose.yml[root@localhostclickhouse]#cat......
  • 在Docker中,如何清理后台停止的容器?
    在Docker中,清理后台停止的容器可以通过多种方式完成。以下是一些常用的方法:1.手动删除你可以使用dockerps-a命令查看所有的容器,包括已停止的容器。找到你想要删除的容器的ID或名称。然后,使用dockerrm<container_id_or_name>命令来删除它。例如:dockerps-a#列出所有容......
  • 在Docker中,如何退出一个镜像的bash,而不终止它?
    在Docker中,当你使用dockerexec-it<container_id_or_name>bash命令进入一个正在运行的容器的bashshell时,你实际上是启动了一个新的进程。要退出这个bashshell而不终止容器,你可以使用几种不同的方法。1.使用exit命令在bashshell中,你可以简单地输入exit命令来退出。这将终......
  • 在Docker中,如何查看镜像支持的环境变量?
    在Docker中,要查看镜像支持的环境变量,有几种方法可以采用:使用Dockerfile:查看Docker镜像的环境变量最直接的方式是查看构建该镜像的Dockerfile。Dockerfile中的ENV指令用于设置环境变量,这些变量在构建镜像时会被创建并保存在镜像中。因此,通过检查Dockerfile,你可以找到所有通过E......
  • Nextcloud 基于 Docker 部署
    1、Docker、Docker-Compose安装https://www.cnblogs.com/a120608yby/p/9883175.htmlhttps://www.cnblogs.com/a120608yby/p/14582853.html2、基于Docker-Compose部署nextcloud#vimdocker-compose.ymlversion:'3'services:db:image:mariadb:10.6......
  • npm报错:request to https://registry.npm.taobao.org failed, reason certificate ha
    NPM使用遇到错误:错误原因:淘宝镜像过期解决方案:​ 1.查看当前npm设置:npmconfiglist​ 2.清空缓存:npmcacheclean--force​ 3.修改npm为淘宝镜像:npmconfigsetregistryhttps://registry.npmmirror.com​ 4.再次查看npm设置,已经修改为淘宝镜像)​ 问题解决......