windows - 适用于 Windows 的 Docker SSL 证书

标签 windows docker

我正在尝试将 docker 镜像发布到私有(private)存储库,但我无法弄清楚我应该将 SSL 证书放在 Windows 机器上的哪个位置。

根据本页https://docs.docker.com/engine/security/certificates/证书应该放在/etc/docker/certs.d/HOSTNAME 目录中。这显然不是 Windows 路径。但是,当我运行 docker 终端并键入 cd/etc 时,它确实将我带到了一个工作目录。

经过一番调查,我发现它要去 C:\Program Files\Git\etc,所以我在下面创建了一个 docker\certs.d\docker-registry.lan(docker-registry.lan 是我们的内部注册表)目录那条路。然后我使用 docker-machine stop、docker-machine start 命令重新启动 docker 机器。

但是,当我尝试推送时,我收到一条错误消息:x509: certificate signed by unknown authority

这个 key 对其他通过 linux 执行此操作的人来说很好,所以我知道 key 很好。我认为问题在于我没有将 key 存储在正确的位置。

我已经尝试了许多不同的 key 位置,但似乎没有一个有效。这必须是我想念的一个简单的解决方法。解决了这个问题的人可以帮助我吗?

谢谢

最佳答案

情况发生了变化,无需在 Windows 10 的任何位置放置证书文件或担心端口号。(截至 2019 年 7 月 21 日)

在 Docker Community 2.0.0.3 (31259) 上,只需将 docker repo 的公共(public)证书添加到本地计算机上的“受信任的根权限存储”。你可以双击你的证书,它会开始询问你想把它放在哪里的过程。 (它可能也适用于当前用户存储,未检查)。

将证书添加到商店后,重新启动 Docker 服务,然后您就可以从您的私有(private)存储库中推/拉。

下面的 docker VM 在启动期间从 Windows 获取所有受信任的根权限并为您管理。

关于windows - 适用于 Windows 的 Docker SSL 证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36041648/

相关文章:

windows - 无法在 Windows 上启动 JBoss 7.0.2

docker - Google Cloud SQL 代理传递凭据文件时出现问题

C# 应用程序不关闭

HKCU 的 c# 权限

symfony - 如何将 Dockerized Symfony 应用程序部署到 Digital Ocean

docker - 无法运行Java程序。 docker 内部错误

mysql - 如何在 Docker 容器中使用模式初始化 MySQL 数据库?

linux - 共享卷/文件权限/所有权(Docker)

windows - 为 Java 代码创建 MSI

windows - 如何让 Vim 正确显示文件而不是显示 ^@ 字符