如何解决从本地集群访问本地进程
我有一个在 Mac 上的 Docker 桌面下运行的本地 Kubernetes 集群。我正在我的机器上本地运行另一个与 docker 相关的进程(本地不安全的注册表)。我有兴趣在本地集群中创建一个进程来从本地 docker 注册表中推送/拉取图像。
如何公开本地注册表,以便从本地 Kubernetes 集群内的 Pod 访问?
一种方法是让 Docker 桌面集群和 docker 注册表使用相同的 docker 网络。将注册表添加到现有网络很容易。 如何将 Docker 桌面集群添加到网络中?
解决方法
正如我在评论中提到的
我认为文档 here 中提到了您要查找的内容。您必须将本地不安全注册表添加为桌面 docker 中的 insecure-registries 值。然后重启后应该就可以使用了。
部署一个普通的 HTTP 注册表
此过程将 Docker 配置为完全忽略注册表的安全性。这是非常不安全的,不推荐。它会将您的注册表暴露给微不足道的中间人 (MITM) 攻击。仅将此解决方案用于隔离测试或在严格控制的气密环境中使用。
编辑 daemon.json 文件,其默认位置在 Linux 上为 /etc/docker/daemon.json 或在 Windows Server 上为 C:\ProgramData\docker\config\daemon.json。如果您使用 Docker Desktop for Mac 或 Docker Desktop for Windows,请点击 Docker 图标,选择 Preferences (Mac) 或 Settings (Windows),然后选择 Docker Engine。
如果 daemon.json 文件不存在,则创建它。假设文件中没有其他设置,应该有以下内容:
{
"insecure-registries" : ["myregistrydomain.com:5000"]
}
还在使用 macOS 的媒体上找到了一个教程。看看here。
,在 kubernetes 集群内运行注册表是一种选择吗?
这样你就可以使用 NodePort 服务并将图像推送到像这样的地址
- "localhost:9000/myrepo"。
这很重要,因为 Docker 允许本地主机的不安全(非 SSL)连接。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。