本文接《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/,可以看到,分页数已经变为启动的配置。
总结
应用场景总是千奇百怪,只有掌握的尽可能多,才能应对足够复杂的情况。
若文中存在错误和不足,欢迎指正!