Dockerfile Registry WebUI 之 docker-registry-frontend 高级应用

  本文接《Dockerfile Registry WebUI 之 docker-registry-frontend 基础应用》,继续讲解docker-registry-frontend应用。

  连接基于HTTPS的Docker Registry

  某些场景,需要Docker Registry基于HTTPS开放服务,本文使用已有的仓库https://192.168.20.53:5000。详细可参考《Dockerfile Registry 配置HTTPS服务》

在这里插入图片描述

  此时,docker-registry-frontend应用时,需增加参数,以便可以连接Docker Registry的HTTPS服务。

  1) 使用默认配置,使用docker-registry-frontend镜像启动容器。

docker run \
  	-d \
  	-e ENV_DOCKER_REGISTRY_HOST=192.168.20.53 \
  	-e ENV_DOCKER_REGISTRY_PORT=5000 \
  	-p 9011:80 \
  	konradkleine/docker-registry-frontend:v2

  容器启动后,访问http://192.168.20.50:9011/,发现docker-registry-frontend无法获取Docker Registry仓库内的镜像信息,这是由于docker-registry-frontend默认配置无法连接基于HTTPS的Docker Registry导致的。

在这里插入图片描述

  2) 容器启动时,增加-e ENV_DOCKER_REGISTRY_USE_SSL=1参数,以便连接基于HTTPS的Docker Registry。

docker run \
  -d \
  -e ENV_DOCKER_REGISTRY_HOST=192.168.20.53 \
  -e ENV_DOCKER_REGISTRY_PORT=5000 \
  -e ENV_DOCKER_REGISTRY_USE_SSL=1 \
  -p 9013:80 \
  konradkleine/docker-registry-frontend:v2

  容器启动后,访问http://192.168.20.50:9013/,可以看到,docker-registry-frontend可以正确获取到Docker Registry仓库内的镜像信息。

在这里插入图片描述

  docker-registry-frontend基于HTTPS开放服务

  某些场景下,需要docker-registry-frontend基于HTTPS开放服务,docker-registry-frontend提供了对应参数,在容器启动时指定即可。

  1) 使用OpenSSL创建证书文件。

   确认OpenSSL是否已安装。

openssl version

在这里插入图片描述

   若为安装,先安装OpenSSL。

apt-get update
apt-get install -y openssl

   进入目录securitit/registry/certs/(根据自身需求创建即可),执行命令创建.crt.key证书文件。

openssl req -newkey rsa:4096 -nodes -sha256 -keyout /securitit/registry/certs/registry.key  -x509 -days 365 -out /securitit/registry/certs/registry.crt

在这里插入图片描述

  2) 使用docker-registry-frontend镜像启动容器。

docker run \
  -d \
  -e ENV_DOCKER_REGISTRY_HOST=192.168.20.53 \
  -e ENV_DOCKER_REGISTRY_PORT=5000 \
  -e ENV_DOCKER_REGISTRY_USE_SSL=1 \
  -e ENV_USE_SSL=yes \
  -v /securitit/registry/certs/registry.crt:/etc/apache2/server.crt:ro \
  -v /securitit/registry/certs/registry.key:/etc/apache2/server.key:ro \
  -p 9443:443 \
  konradkleine/docker-registry-frontend:v2

  容器启动后,访问https://192.168.20.50:9443/,可以看到,docker-registry-frontend可以正确获取到Docker Registry仓库内的镜像信息。

在这里插入图片描述

  docker-registry-frontend分页配置

  使用如下命令启动容器。

docker run \
  -d \
  -e ENV_DOCKER_REGISTRY_HOST=192.168.20.53 \
  -e ENV_DOCKER_REGISTRY_PORT=5000 \
  -e ENV_DEFAULT_REPOSITORIES_PER_PAGE=100 \
  -e ENV_DEFAULT_TAGS_PER_PAGE=100 \
  -e ENV_DOCKER_REGISTRY_USE_SSL=1 \
  -e ENV_USE_SSL=yes \
  -v /securitit/registry/certs/registry.crt:/etc/apache2/server.crt:ro \
  -v /securitit/registry/certs/registry.key:/etc/apache2/server.key:ro \
  -p 9443:443 \
  konradkleine/docker-registry-frontend:v2

  容器启动后,访问https://192.168.20.50:9443/,可以看到,分页数已经变为启动的配置。

在这里插入图片描述

  总结

  应用场景总是千奇百怪,只有掌握的尽可能多,才能应对足够复杂的情况。

​  若文中存在错误和不足,欢迎指正!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值