如何阻止 Docker 注册表?

2024-03-12

我想阻止对默认 docker.io 注册表的访问。为了安全/IP 保护,我们需要阻止对公共 Docker 中心的推/拉访问。

曾经有过many尝试将此作为配置选项,但所有 PR 都不断被拒绝。红帽已经实现了“--block-registry”和“--add-registry”,它们是exactly我需要什么,但它只适用于 Red Hat 的 docker v1.10 分支,我想使用 docker v1.12+

我使用的是 RHEL/Centos 7

DNS 欺骗似乎不再通过 /etc/hosts 中的以下内容起作用:

127.0.0.1 index.docker.io registry.docker.io registry-1.docker.io docker.io

我似乎无法使用以下规则让防火墙阻止访问(其中 IP 当前是来自 /etc/hosts 中列出的上述主机的 IP):

# firewall-cmd --direct --get-rules ipv4 filter OUTPUT                                                                           
0 -p tcp -m tcp --dport 5000 -j REJECT
0 -p tcp -m tcp --dport 443 -j REJECT
0 -p tcp -m tcp -d 52.207.178.113 -j DROP
0 -p tcp -m tcp -d 52.73.159.23 -j DROP
0 -p tcp -m tcp -d 54.85.12.131 -j DROP
0 -p tcp -m tcp -d 52.6.119.223 -j DROP
0 -p tcp -m tcp -d 52.0.53.94 -j DROP
0 -p tcp -m tcp -d 34.192.123.224 -j DROP
0 -m state --state ESTABLISHED,RELATED -j ACCEPT
1 -p tcp -m tcp --dport 80 -j ACCEPT
1 -p tcp -m tcp --dport 53 -j ACCEPT
1 -p udp --dport 53 -j ACCEPT
1 -p tcp -m tcp --dport 2376 -j ACCEPT
2 -j REJECT

or

# firewall-cmd --direct --get-rules ipv4 filter FORWARD
0 -p tcp -m tcp --dport 5000 -j REJECT
0 -p tcp -m tcp --dport 443 -j REJECT
0 -p tcp -m tcp -d 52.207.178.113 -j DROP
0 -p tcp -m tcp -d 52.73.159.23 -j DROP
0 -p tcp -m tcp -d 54.85.12.131 -j DROP
0 -p tcp -m tcp -d 52.6.119.223 -j DROP
0 -p tcp -m tcp -d 52.0.53.94 -j DROP
0 -p tcp -m tcp -d 34.192.123.224 -j DROP

完成所有这些后,我仍然可以从 docker.io 搜索/拉取。

解决此问题的 PR 之一已被维护人员关闭,他表示这看起来应该由防火墙解决。有人可以告诉我这实际上是如何做到的吗?


将其添加到 Ubuntu 上的 /etc/hosts 对我有用:

0.0.0.0 index.docker.io auth.docker.io registry-1.docker.io dseasb33srnrn.cloudfront.net production.cloudflare.docker.com

我从这里得到了域列表:https://support.sonatype.com/hc/en-us/articles/115015442847-Whitelisting-Docker-Hub-Hosts-for-Firewalls-and-HTTP-Proxy-Servers https://support.sonatype.com/hc/en-us/articles/115015442847-Whitelisting-Docker-Hub-Hosts-for-Firewalls-and-HTTP-Proxy-Servers

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何阻止 Docker 注册表? 的相关文章

  • 使用 docker toolbox 时无法通过主机(windows)IP 访问 Docker VM 上的 tomcat 应用程序

    我正在使用 docker 工具箱在 Windows 系统上运行 docker 我使用命令运行 tomcat 容器docker run it rm p 8888 8080 tomcat 8 0 根据文档我应该能够使用访问tomcathttp
  • 如何在 docker (DIND) 内运行 docker 容器?

    我正在尝试使用 docker inside docker 在另一个容器中运行一个容器https hub docker com docker https hub docker com docker 当我运行以下命令时 docker run p
  • 连接到在 Docker 中运行的 HBase

    我无法连接到 Windows 上 Docker 中运行的 HBase banno hbase 独立 https registry hub docker com u banno hbase standalone 图像 但是 我可以连接到本地安
  • 使用 Docker-Compose 运行 Google Firestore 模拟器

    我正在尝试运行我的 Node 项目以及 Firestore 模拟器docker compose在本地开发环境中 我的 Node 项目有一个 Dockerfile 如下所示 WORKDIR app ADD package json RUN n
  • 在 Nginx 容器 wsl2 上运行 Laravel 时 Docker 非常慢

    我已经将Windows 10更新到2004最新版本 安装了wsl2并更新了它 安装了docker和ubuntu 当我创建一个简单的索引 php文件与 Hello World 它工作完美 响应 100 400ms 但是当我添加我的Larave
  • 如何使用 iptables 阻止 docker 容器端口?

    我使用 docker 服务来设置容器网络 我只是为目标 IP 打开端口 7035 并将其暴露给主机 当我使用 iptables nvL 检查 iptables 时 我看到了FORWARD链 Chain FORWARD policy ACCE
  • 将虚拟主机分配给 Docker 端口

    我设置了通配符 DNS 以便对自定义域 foo 的所有 Web 请求都映射到 Docker 主机的 IP 地址 如果我有多个运行 Apache 或 Nginx 实例的容器 每个容器都会将 Apache 端口 80 映射到某个外部入站端口 我
  • 在新的 Apple Silicon 架构上运行 Ruby、Node、Python 和 Docker? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 如何获得在 Apple Silicon 架构上运行的 Ruby Python 和 Node js 开发环境 虚拟化软件怎么样 码头工人
  • Docker镜像删除后占用空间

    我提交了一个现有的 Docker 容器来创建新镜像 但提交的镜像太大了 原始镜像为 3 GB 并且在容器中安装了一些其他内容 提交的镜像为 8 GB 我的空间不足 所以我决定删除提交的映像 但即使删除提交的映像后 我的磁盘空间也没有增加 然
  • 使用 Docker compose 连接到另一个容器

    我需要一起使用两个容器 一个用于 Tomcat 另一个用于数据库 我创建了以下描述服务的 yaml 文件 postgredb image postgres expose 5432 ports 5432 5432 environment PO
  • 如何通过名称而不是IP地址访问docker容器?

    有没有办法可以使用名称而不是 IP 地址访问我的 docker 容器 我听说过 Pipework 也见过一些 docker 的 dns 和主机名类型选项 但我仍然无法将所有内容拼凑在一起 感谢您的时间 我不确定这是否有帮助 但这就是我到目前
  • 在 Traefik 1.5.0-rc5 中使用新的 httpChallenge 时出现问题

    在尝试升级到最新的 traefik 版本以便能够从 LetsEncrypt 生成 TLS 证书时 我遇到了证书生成时间的问题 这之前工作过traefik 1 4使用acme ondemand标志和其他设置 减去httpChallenge当然
  • 读取注册表和 Wow6432Node 密钥

    我有一些代码可以读取注册表并在其中查找值HKEY LOCAL MACHINE Software App 但在 64 位版本的 Windows 上运行时 该值低于HKEY LOCAL MACHINE Software Wow6432Node
  • Google Cloud Kubernetes 访问私有 Docker Hub 托管映像

    是否可以将私有镜像从 Docker Hub 拉取到 Google Cloud Kubernetes 集群 是否建议这样做 或者我是否需要将我的私有映像也推送到 Google Cloud 我阅读了文档 但没有发现任何内容可以清楚地解释这一点
  • Docker忽略limits.conf(试图解决“打开文件太多”错误)

    我正在运行一个 Web 服务器 该服务器正在处理数千个并发 Web 套接字连接 为了实现这一点 在 Debian linux 我的基本镜像是 google debian wheezy 在 GCE 上运行 上 打开文件的默认数量设置为 100
  • 向 docker 镜像添加新的入口点

    最近 我们决定将我们的一项服务迁移到 docker 容器 该服务是另一家公司的产品 他们为我们提供了 docker 镜像 但是 我们需要在容器入口点中执行一些额外的配置步骤 我尝试的第一件事是从基础映像创建一个 DockerFile 然后添
  • 在 Docker 容器中看不到 Django

    我想在一个简单的 Docker 容器中运行 Django 首先 我使用 Docker 文件构建了容器 里面没有什么特别的 只有 FROM RUN 和 COPY 命令 然后我用命令运行我的容器 docker run tid p 8000 80
  • Docker Hub API v2 令牌身份验证问题

    目前 我正在开发一个非常轻量级版本的 Docker 容器编排器 并且我必须能够从公共 Docker Hub 注册表获取图像摘要 我想使用 Docker Registry API v2 来实现此目的 我正在尝试使用以下 API 调用获取授权令
  • docker repo 解决映像构建期间的错误错误(检查存储库文件)

    我在构建 docker 映像时遇到问题 并尝试了不同的 DNS 选项 但似乎运气不佳 Docker版本1 9 1 构建a34a1d5 回购还活着 为了运行我使用的容器docker run dns 192 168 1 1 d ti name
  • 如何从 Docker Hub 删除存储库

    如何从 Docker Hub 完全删除存储库 Docker 正在快速发展 他们的网站也是如此 这是从 docker hub Web 界面删除存储库的最新方法 首先 确保您已登录 hub docker com Simple 单击顶部的存储库链

随机推荐

  • Android Handler.post,到底发生了什么

    几天以来 我试图弄清楚如果我执行代码到底会发生什么 void function somePreExecutionCode new Handler post new Runnable Override public void run some
  • 如何使用 Numpy 对字符串数组进行一次性编码?

    我知道那里有次优的解决方案 但我正在尝试优化我的代码 到目前为止 我发现的最短方法是 import numpy as np from sklearn preprocessing import OrdinalEncoder target np
  • 使用 re.match 或 re.search 返回多个匹配项

    我正在将一些代码转换为微型蟒蛇 http micropython org我陷入了一个特定的正则表达式 在Python中我的代码是 import re line 0 1 24 2 1 180108205500W 00001 290 m3 be
  • UITableView 中的 UISearchBar

    我试图模仿类似于 iPod 应用程序的艺术家表视图的行为 它是一个分段表视图 右侧有一个部分索引 顶部有一个搜索栏 但在显示视图时最初是隐藏的 我使用的是sdk 3 1 2和IB 所以简单地拖了一个UISearchDisplayContro
  • 为什么 Visual Studio 2019 不支持 Openmp 的 for-reduction 中的关键字“max”?

    当我像这样使用 openmp 时 pragma omp parallel for reduction max dumax IDE 将在 Openmp 中引发错误 max reduction 无效 pragma omp parallel fo
  • 托管 c++/cli .net 将固定字节数组转换为字符串^

    如何在托管 c cli 中将固定字节数组转换为字符串 例如我有以下字节数组 Byte byte data 5 byte data 0 a byte data 1 b byte data 2 c byte data 3 d byte data
  • 如何在 Kendo Grid 的每一行中添加自定义按钮

    我正在尝试将自定义按钮添加到 Kendo 网格的每一行 但我没有得到所需的输出 所以我的要求是向每一行添加动态按钮 然后单击这些按钮 我需要处理一些我需要的东西要传递给该按钮单击的几个列值 我试过类似的东西 Html Kendo Grid
  • 跟踪 IP 地址和国家/地区名称 (asp.net)?

    昨天我看到一个网站 其中列出了IP地址和国家名称 说最近访问过的成员 带有国家名称 城市名称的IP地址列表 我可以知道如何跟踪该信息 任何参考或任何代码吗 谢谢 请检查这些问题 检测 估计 ASP NET 中 http 请求的国家 地区 h
  • 用于列出用户的 S3 存储桶内的特定文件夹的 IAM 策略

    我在桶下面有下面的钥匙客户演示 demo for customers customer1 demo for customers customer2 现在我有 2 个客户客户1 and 客户2 这就是我要的 仅授予他们访问权限客户演示 buc
  • 给定一个数的质因数分解,生成该数的所有因数

    如果您已经对一个数字进行质因数分解 那么获得该数字的所有因数的集合的最简单方法是什么 我知道我可以从 2 循环到 sqrt n 并找到所有可整除的数字 但这似乎效率很低 因为我们已经有了质因数分解 我想它基本上是组合 选择函数的修改版本 但
  • 熊猫 corr() 与 corrwith()

    Pandas 提供两种不同的相关函数的原因是什么 DataFrame corrwith 其他 轴 0 drop False 两个DataFrame对象的行或列之间的相关性成对计算 vs DataFrame corr method pears
  • Jackson 序列化 可选,YAML 为空值

    目前我正在使用YAML工厂 https fasterxml github io jackson dataformats text javadoc yaml 2 11 配置ObjectMapper序列化和反序列化Pojos lt gt YAM
  • 显示片段中的对话框?

    我有一些片段需要显示常规对话框 在这些对话框中 用户可以选择是 否答案 然后片段应该做出相应的行为 现在Fragment类没有onCreateDialog 方法来重写 所以我想我必须在包含的外部实现对话框Activity 没关系 但是接下来
  • 当 url 包含锚点时,获取页面加载时网页滚动条的垂直位置

    我使用 jQuery 的scrollTop 方法来获取页面加载时滚动条的垂直位置 我需要在执行 url 中的锚点后获取此值 例如 url www domainname com foo 我可以使用以下代码 它可以在 Firefox 和 IE
  • iPhone 解锁时 Xcode“设备锁定”

    当我尝试构建并运行时 Xcode 说我的设备已锁定 我看了看我的 iPhone 它根本没有锁定 我该如何解决 我的手机设置为 信任 Mac 但我在 Xcode 6 1 1 中仍然遇到此错误 这对我有用 拔掉设备插头 退出 xcode 打开X
  • 测试示例集属性应等于训练示例集 Rapidminer SVM 的 OR 超集

    I am new to Rapid Miner and using SVM Linear in it My model is as I made Training Example set which consist of 3552 exam
  • 动态 Java 整数/长溢出检查与性能

    这是一个相当理论化的问题 因此虽然该语言是 Java 特有的 但任何通用的解决方案都足够了 假设我想编写一个简单的阶乘函数 long factorial int n handle special cases like negatives e
  • Xamarin 表单更改导航栏的背景颜色

    我正在使用 Xamarin Forms 并尝试更改 iOS 上导航栏的背景颜色 我有一个继承自 NavigationPage 的自定义导航栏类 具有可绑定属性和构造函数 用于设置导航栏的颜色 根据我的理解 导航栏顶部有一个默认背景 黑色 X
  • 从 fresco 获取 bitmapdrawable

    我正在尝试从 SimpleDraweeView 获取位图 我已经使用 uri 图像设置了 SimpleDraweeView final Uri uri new Uri Builder scheme UriUtil LOCAL RESOURC
  • 如何阻止 Docker 注册表?

    我想阻止对默认 docker io 注册表的访问 为了安全 IP 保护 我们需要阻止对公共 Docker 中心的推 拉访问 曾经有过many尝试将此作为配置选项 但所有 PR 都不断被拒绝 红帽已经实现了 block registry 和