当以 snap 方式安装 docker 时,我无法告诉它接受私有注册表证书。它似乎至少考虑过证书的唯一一次是我把它放入
/etc/docker/certs.d/<my registry host and port>/ca.pem
在那种情况下,我得到了
Error response from daemon: open /etc/docker/certs.d/<my registry host and port>: permission denied
即使我授予该目录 777 权限,这仍然适用。我将证书放在该目录中的原因是 docker 的 snap 日志显示它会在那里查找证书。
答案1
我遇到了这个问题,经过一番研究,找到了解决方案。您需要:
sudo mkdir -p /var/snap/docker/certs.d/registryhost:port/
sudo cp your.crt /var/snap/docker/certs.d/registryhost:port/
sudo snap restart docker
然后通过以下方式登录到您的注册表:
docker login registryhost:port
您应该能够从注册表中推送和提取图像。如果这对您有用,请告诉我。谢谢!
答案2
在 Ubuntu 上正确的路径是/var/snap/docker/~current/etc/docker/certs.d