7.3.4. 不安全的 registry


应避免使用非可信证书的外部 registry(或根本没有证书)。

但是,任何不安全的 registry 都应使用 --insecure-registry 选项来添加,以允许 docker 守护进程从存储库拉取镜像。这与 --add-registry 选项相同,但不会验证 docker 操作。

该 registry 应该使用这两个选项添加来启用搜索的选项;如果有黑名单,则应该执行其他操作,如拉取镜像。

出于测试目的,以下示例显示了如何添加一个 localhost 不安全的 registry。

流程
  1. 修改 /etc/containers/registries.conf 配置文件以添加 localhost 不安全的 registry:

    [registries.search]
    registries = ['registry.redhat.io', 'my.registry.example.com', 'docker.io', 'localhost:5000' ]
    
    [registries.insecure]
    registries = ['localhost:5000']
    
    [registries.block]
    registries = ['all']
    注意

    将不安全的 registry 添加到 registry.search 部分以及 registry.insecure 部分,以确保它们标记为不安全并列入白名单。添加到 registeries.block 部分的任何 registry 都会被阻断,除非也被添加到 registry.search 部分。

  2. 重启 docker 守护进程以使用 registry:

    $ sudo systemctl restart docker.service

    重启 docker 守护进程会导致 docker 容器被重启。

  3. localhost 运行容器镜像 registry pod:

    $ sudo docker run -p 5000:5000 registry:2
  4. 拉取镜像:

    $ sudo docker pull openshift/hello-openshift
  5. 标记镜像:

    $ sudo docker tag docker.io/openshift/hello-openshift:latest localhost:5000/hello-openshift-local:latest
  6. 将镜像推送到本地 registry:

    $ sudo docker push localhost:5000/hello-openshift-local:latest
  7. 使用 Ansible 安装程序,这可以使用 Ansible 主机文件中的 openshift_docker_additional_registriesopenshift_docker_blocked_registriesopenshift_docker_insecure_registries 变量进行配置:

    openshift_docker_additional_registries=registry.redhat.io,my.registry.example.com,localhost:5000
    openshift_docker_insecure_registries=localhost:5000
    openshift_docker_blocked_registries=all
    注意

    您还可以将 openshift_docker_insecure_registries 变量设置为主机的 IP 地址。0.0.0.0/0 不是一个有效设置。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.