我将我的应用程序移到Docker,我不知道如何管理证书/密钥。在一个主机中,我有两个Docker容器,它们必须通过TLS侦听/与许多客户端计算机通信。在docker之前,我只有一个服务器密钥和自签名证书,我的客户端使用自签名证书与服务器应用程序进行通信。
但既然他们是分开的码头集装箱,什么是正确的方法?我是否将证书/密钥推送到容器中的目录?如果是这样的话,那么我的dockerfile将需要复制cert/ key,并且我不希望密钥成为签入映像的一部分。(安保)
或者,我是否使用卷并在主机上按住键/证书?我试过了,但是容器根用户看不到私钥,私钥只读取主机根用户。
什么才是真正正确的方法?谢谢
发布于 2014-10-22 19:07:30
花了我一段时间,但我想出了办法。
其中一个是RUN命令行,您可以将主机目录作为数据卷挂载。这不能通过在dockerfile中使用卷来工作。使用开关-v hostdir:datavolume
http://docs.docker.com/userguide/dockervolumes/
我使用它将容器数据卷连接到存储密钥和证书的主机目录。
谢谢
发布于 2015-11-03 07:45:54
我知道这是一个老问题,但我想出了一个有点相似但更通用的方法。我的解决方案是创建一个仅数据容器,它将证书及其密钥挂载为/etc/ssl/certs/host/和/etc/ssl/private/host/。例如,将其命名为certificates。在即将到来的容器中,您可以通过使用--volumes-from certificates轻松地使用这些证书。
https://stackoverflow.com/questions/26321901
复制相似问题