2016-02-25 55 views
4

我将我的Mac(OS X)从较旧的Docker安装升级到Docker Toolbox,这意味着我现在正在使用Docker Machine,并且在该过程中发现我曾工作过的证书对于私人注册表的推/拉是不存在的,我不能为了我的生活找出如何让他们到位。在我尝试测试拉的那一刻,我得到了可怕的x509: certificate signed by unknown authority错误。我搜索了四周,在Github上看了一些问题,但是对我来说什么都没有起作用。我甚至尝试了ssh进入机器虚拟机并手动将它们复制到/ etc/ssl/certs和其他各种东西,但没有运气。我当然不想进入“不安全的注册表”的东西。这在移动到码头机器之前用于boot2docker。如何将私有注册表证书添加到Docker机器

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

感谢您的任何帮助,我希望这里的一个很好的答案可以坚持以帮助其他遇到此问题的人。

+0

会是一个简单的'码头机器再生证书'就够了吗? – VonC

+1

不幸的是,这是为了在机器内创建证书,而不是将私人注册表的证书导入机器。 – Masonoise

回答

0

好吧,让我们想象一下,我有一个注册表运行在地址: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 

设置变量MACHINE_NAME到无论你的计算机的名称是。该机器现在将信任您的根证书。

+0

可悲的是这对我不起作用 – sbk

相关问题