macos - Mac上的Docker在更改ssl证书的代理后面

标签 macos ssl go docker boot2docker

我对以下问题的最终解决方法是说服我们的 IT 人员不要干预 dockerhub 注册表。唉,我无法让其他任何东西工作。

我最初尝试在运行 10.8.5 的 Mac 上运行 Docker 时遇到了问题。看来我公司的证书重写代理似乎妨碍了获取图像:

orflongpmacx8:docker pohl_longsine$ docker run hello-world
Unable to find image 'hello-world:latest' locally
Pulling repository hello-world
FATA[0001] Get https://index.docker.io/v1/repositories/library/hello-world/images: x509: certificate signed by unknown authority (possibly because of "crypto/rsa: verification error" while trying to verify candidate authority certificate "bcauth") 

(确实,当我登录到没有麻烦的代理的访客无线时,我可以跳过这一步。但是,我需要弄清楚如何通过代理进行这项工作,因为使用访客无线是作为长期解决方案是站不住脚的。)

从表面上看,我的问题与 this question 中回答的问题非常相似。 .但是,该问题中接受的答案对我不起作用,因为 root_unix.go他们讨论的文件不会在 Mac 上被调用。 (通过浏览,我猜想 root_cgo_darwin.go 和/或 root_darwin.go 会参与其中。)

这并没有真正告诉我,在操作上,我需要如何进行安装某种受信任证书的等效工作。我设法获得了一个 *.cer 文件,我认为该文件是我需要的,但我不知道如何处理它。

我希望有人能指出我正确的方向。

编辑:我想也许我需要类似于 this page suggests 的东西, 添加证书。唉,我尝试遵循这些说明失败了:

orflongpmacx8:docker pohl_longsine$ sudo security add-trusted-cert -d -r trustRoot -k "/Library/Keychains/System.keychain" "~/Desktop/Certs/redacted.cer" 
Password:
***Error reading file ~/Desktop/Certs/redacted.cer***
Error reading file ~/Desktop/Certs/redacted.cer

编辑 2:我可能离解决这个问题又近了一步。我应该知道更好地使用引号内带有波浪号的路径。如果我改用绝对路径,我可以成功运行上面的命令来添加证书。

唉,这并没有缓解最终的症状:

FATA[0001] Get https://index.docker.io/v1/repositories/library/hello-world/images: x509: certificate signed by unknown authority (possibly because of "crypto/rsa: verification error" while trying to verify candidate authority certificate "bcauth") 

最佳答案

根据boot2docker自述文件

Insecure Registry

As of Docker version 1.3.1, if your registry doesn't support HTTPS, you must add it as an insecure registry.

$ boot2docker init
$ boot2docker up
$ boot2docker ssh
$ echo 'EXTRA_ARGS="--insecure-registry <YOUR INSECURE HOST>"' | sudo tee -a /var/lib/boot2docker/profile
$ sudo /etc/init.d/docker restart
then you should be able to do a docker push/pull.

关于macos - Mac上的Docker在更改ssl证书的代理后面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27536180/

相关文章:

go - 在for循环中进入引用设置了错误的引用

java - 类 JavaLaunchHelper 在两个地方实现

objective-c - 在 Objective-C 中获取路由器 mac(没有系统调用 ARP)

macos - 新手问题 : GTK# (Mono) on OSX

objective-c - OS X 菜单栏应用程序 : How to bring window to front

java - Tomcat/合流 : very long TLS handshake at start

ios - IBM AppCenter 6.2.0 + iOS 上的 SSL - 连接到服务器时永远显示加载 View (无响应失败/成功/超时))

go - 安全地从无 channel 的goroutines中读取共享数据结构

ssl - 无法通过使用 MSXML2.ServerXMLHTTP 的 SHA2 证书的 HTTPS 连接到服务器

json - 为嵌入式结构使用自定义 JSON Marshal() 的问题