如何将私有registry证书添加到Docker机器

我将我的Mac(OS X)从一个较旧的Docker安装升级到了Docker Toolbox,这意味着我现在正在使用Docker Machine,并且在这个过程中发现我曾经用私有registry进行推/拉操作的证书不在那里,我不能为了我的生活找出如何让他们到位。 在我尝试进行testing的那一刻,我遇到了x509: certificate signed by unknown authority错误x509: certificate signed by unknown authority的可怕x509: certificate signed by unknown authority 。 我search了四周,在Github上看了一些问题,但没有任何效果。 我什至尝试ssh'ing到机器虚拟机,并手动将它们复制到/ etc / ssl / certs和其他各种各样的东西,没有运气。 我当然不想进入“不安全的registry”的东西。 在移动到docker-machine之前,这个过程与boot2docker一起工作。

这似乎是一个非常简单的问题:我有一些.crt文件需要放在正确的位置,以便我可以进行推/拉。 如何做到这一点? 其次,这怎么能在任何地方logging? 我们可以希望有一天有docker-machine add-cert命令吗?

感谢您的帮助,我希望这里能有一个很好的答案来帮助那些遇到这个问题的人。

好吧,让我们想象我有一个registry运行在地址:192.168.188.190:5000,我有一个适当的证书这个地址。

我现在将运行以下命令将根证书安装到我的机器中:

 docker-machine scp ./dockerCA.crt $MACHINE_NAME:dockerCA.crt docker-machine ssh $MACHINE_NAME sudo mkdir -p /etc/docker/certs.d/192.168.188.190:5000 docker-machine ssh $MACHINE_NAME sudo mv dockerCA.crt /etc/docker/certs.d/192.168.188.190:5000/dockerCA.crt 

将variablesMACHINE_NAME设置为您机器的名称。 机器现在将信任您的根证书。