为什么在新的 SSL 后 Debian 需要重新启动才能登录自托管 Docker Repo,而 Ubuntu 不需要 x509:证书由未知机构签名

为什么在新的 SSL 后 Debian 需要重新启动才能登录自托管 Docker Repo,而 Ubuntu 不需要 x509:证书由未知机构签名

我有两台服务器,一台是 Debian Buster (Debian 4.19.208-1),另一台是 Ubuntu 18 (Ubuntu 18.04.6)。

我最近在自托管 Docker Image Repo 上更新了 SSL,并注意到在 Ubuntu 系统上,我无需执行任何操作即可登录/拉取等,但在 Debian 实例上,我得到了x509: certificate signed by unknown authority.

网上的线程提到做一个docker restart,但那时,我不妨重新启动整个服务器。这并不理想,因为这意味着取消每项服务。我刚刚测试过,它确实有效。我有另一台正在生产的 Debian 服务器,我想在不重新启动的情况下修复它。

任何想法为什么会发生这种行为以及我可以避免在 Debian 上重新启动服务器的方法?

答案1

Docker 的文档在守护进程停机期间保持容器处于活动状态解释说通过使用

{
  "live-restore": true
}

(或者以任何方式附加在现有配置的顶层"live-restore": true/etc/docker/daemon.json可以重新启动 Docker,而无需 Docker 在此操作期间停止其容器。

所以第一次这样做的方法是:

  • 添加配置
  • 重新加载Docker 所以它使用这个更新的选项
  • 重新开始Docker 现在不会停止其容器并恢复其状态信息

警告:有限制:

  • Docker 网络的设置不应针对所涉及的容器进行更改
  • 如果是升级,则只有补丁版本升级(YY.MM.xx更改)才会尊重该功能。
  • 对 Docker Swarm 无效
  • 如果 Docker 停止时间过长,来自容器的日志可能会使其 FIFO 缓冲区已满

以及链接文档中的任何其他限制。

相关内容