1. ホーム
  2. docker

[解決済み] 不明な機関によって署名された "docker pull "証明書

2022-03-05 15:14:54

質問

dockerレジストリからdockerイメージを取り出そうとしたところ、以下のような問題が発生しました。

$ docker pull <docker registry>/<image name>/<tag> 
Error response from daemon: Get <docker registry>/v1/_ping: x509: certificate signed by unknown authority

私は"curl"で試してみましたが、同様のエラーメッセージが表示されました。

 curl performs SSL certificate verification by default, using a "bundle"
 of Certificate Authority (CA) public keys (CA certs). If the default
 bundle file isn't adequate, you can specify an alternate file
 using the --cacert option.

そこで、CA証明書をダウンロードし、以下のコマンドでサーバー(RedHat Linux 7)にインポートしました。

cp root_cert.cer /etc/pki/ca-trust/source/anchors/
update-ca-trust

ルート証明書がインポートされた後に curl は問題なく動作しており、証明書に関するエラーは報告されません。 docker pull まだ同じ問題があります。これは docker とは異なるca-certの場所を使用しています。 curl ? の問題を解決するにはどうすればよいですか? docker pull このような場合、どうすればよいのでしょうか?

どのように解決するのですか?

OSの証明書の変更を検出するために、Dockerサービスを再起動する必要がある場合があります。

Dockerには、個々のレジストリサーバCAを信頼するために使用できる追加の場所があります。CA証明書は /etc/docker/certs.d/<docker registry>/ca.crt . Linuxなど、imageタグでポート番号を指定している場合は、その番号も含めてください。

/etc/docker/certs.d/my-registry.example.com:5000/ca.crt

またはWindows 10の場合。

C:\ProgramData\docker\certs.d\ca.crt