我想在 Windows 10 机器上为 Docker 添加一个不安全的注册表以进行测试。不幸的是,我无法在 Windows 上找到通常的 /etc/docker/default
配置文件所在的任何信息。
尝试从不安全的注册表中提取而不将其添加到选项时遇到的错误是:
Failed to tls handshake with x.x.x.x cannot validate certificate for x.x.x.x because it doesn't contain any IP SANs
我确实找到了一种看起来很有希望的方法:
- 编辑 C:/Users/Username/.docker/machine/default/config.json
- 添加注册表:"InsecureRegistry": ["x.x.x.x:port"]
- 使用 (?) docker-machine.exe restart default 重启 docker
但现在我收到此错误:
Get https://x.x.x.x:port/v1/_ping: x509: cannot validate certificate for x.x.x.x because it doesn't contain any IP SANs
( https://akrambenaissi.com/2015/11/17/addingediting-insecure-registry-to-docker-machine-afterwards/ )
更新:重新启动 Windows 后它起作用了:
- 我收到“未经授权:需要身份验证”
- 因此 > docker login x.x.x.x:port 现在可以正常工作了!
最佳答案
以下内容对我有用:
- 编辑 C:/Users/Username/.docker/machine/default/config.json
- 添加注册表:"InsecureRegistry": ["x.x.x.x:port"]
- 重启 docker(见下方评论)*
- 重启窗口(一定有更好的方法 ;-)
- docker login x.x.x.x:port
关于windows - Windows 上的 Docker 配置文件位置,例如,启用不安全的注册表/docker 选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37112422/