![将自己的CA根证书导入Docker容器中](https://linux22.com/image/734682/%E5%B0%86%E8%87%AA%E5%B7%B1%E7%9A%84CA%E6%A0%B9%E8%AF%81%E4%B9%A6%E5%AF%BC%E5%85%A5Docker%E5%AE%B9%E5%99%A8%E4%B8%AD.png)
我在 CentOS 机器上使用 FreeIPA 服务器。它还可以充当认证机构。
一些 HTTP 服务正在使用 FreeIPA 颁发的证书运行,并且一切运行良好。
我有另一台 CentOS 服务器,连接到我的域,该服务器已正确设置 FreeIPA 根证书。当我curl https://freeipa.example.com
直接从该服务器时,我没有遇到任何问题。
但是该服务器也运行 Docker 容器,它们似乎在连接到使用我的 FreeIPA 证书运行的 httpd 服务器时存在问题。
当我运行时,curl https://freeipa.example.com
遇到以下问题:curl: (60) SSL certificate problem: unable to get local issuer certificate
。
看起来 Docker 并不关心在 CentOS 服务器中设置用于连接 FreeIPA 的根证书。
我该如何解决这个问题?
答案1
您需要将 CA 传递给容器并将其添加到容器信任列表中。这可以在运行时完成(使用容器操作,例如 bash 或 powershell 脚本,或以交互方式运行容器),也可以通过创建更新的映像完成(使用docker build
dockerfile 或docker commit
已根据您的需要修改的正在运行的容器)。