OpenShift:使用内部Docker注册表
时间:2020-03-21 11:42:23 来源:igfitidea点击:
OpenShift提供了一个内部容器镜像注册表,可以将其部署在OpenShift环境中以本地管理镜像。
Docker注册表管理
注册表可能是在OpenShift安装过程中自动部署的。
检查注册表服务是否已经存在:
$oc adm registry --dry-run Docker registry "docker-registry" service exists
获取部署配置:
$oc get dc -n default NAME REVISION DESIRED CURRENT TRIGGERED BY docker-registry 1 2 2 config registry-cosole 1 1 1 config router 1 2 2 config
获取注册表的图像:
$oc describe dc/docker-registry -n default | grep Image Image: registry.lab.example.com/openshift3/ose-docker-registry:v3.9.14
删除Docker注册表
由于我们知道创建注册表的镜像,因此我们可以轻松地重新创建它。
删除注册表及其服务帐户:
$oc delete all -l docker-registry -n default $oc delete serviceaccounts/registry -n default $oc delete clusterrolebindings/registry-registry-role -n default
从镜像创建Docker注册表
使用该镜像创建一个Docker注册表:
$oc adm registry \ --images=registry.lab.example.com/openshift3/ose-docker-registry:v3.9.14 \ --replicas=2 \ --selector='region=infra' \ -n default
浏览Docker注册表
要浏览Docker注册表,我们可以安装'docker-registry-cli'脚本:
$sudo yum install python-flask python-requests git $git clone https://github.com/vivekjuneja/docker_registry_cli $cd docker_registry_cli
运行以下命令以将集成的Docker注册表公开给主机名intreg.lab.example.com:
$oc expose service docker-registry \ --hostname=intreg.lab.example.com
默认情况下,该命令将创建与服务同名的路由。
请注意,我们将需要在路由上配置TLS安全性,或者在'/etc/docker/daemon.json'中允许不安全的Docker注册表。
完成后,我们可以在docker注册表中列出所有图像:
$python ./browser.py intreg.lab.example.com list all