0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【x509エラー対策】DockerレジストリにCA証明書を設定する方法

Last updated at Posted at 2025-07-29

はじめに

Dockerイメージを格納するDockerレジストリにCA証明書を設定する方法を紹介する。プライベートレジストリを構築している場合やVPNやプロキシを利用している場合に有用。

エラー内容

ケース1:プライベートレジストリにログインできない

Dockerレジストリにログインしようとすると、

docker login <your_docker_registry_host>:<your_docker_registry_port> -u <user> -p <password>
  • : Dockerレジストリのホスト名(IPアドレス)
  • : Dockerレジストリのポート番号

以下の、x509認証エラーが発生する。

Docker login時にx509認証エラー
Error response from daemon: Get <your_docker_registry_host>:<your_docker_registry_port>/v2/: x509: certificate signed by unknown authority

ケース2:DockerHubのレジストリからイメージをダウンロードできない

VPNやプロキシを利用している場合に、DockerHubのレジストリ(docker.io)からDockerイメージをダウンロードしようとするとx509認証エラーとなる。

docker.io に独自CAを追加する場合、プロキシが証明書を差し替えていることが前提であり、通常の環境では不要。

docker: Error response from daemon: Get “https://registry-1.docker.io/v2/ ”: tls: failed to verify certificate: x509: certificate signed by unknown authority.

動作確認環境

  • Ubuntu 22.04 x86_64
  • Docker
    Client: Docker Engine - Community
    Version:           28.2.2
    API version:       1.50
    Go version:        go1.24.3
    Git commit:        e6534b4
    Built:             Fri May 30 12:07:28 2025
    OS/Arch:           linux/amd64
    Context:           default
    

方法

  1. CA証明書を取得

  2. Dockerの設定ディレクトリにCA証明書をコピー
    Dockerレジストリごとにフォルダを作成して、CA証明書をコピーする。

    sudo mkdir -p /etc/docker/certs.d/<your_docker_registry_host>:<your_docker_registry_port>
    cd /etc/docker/certs.d/<your_docker_registry_host>:<your_docker_registry_port>
    sudo cp <your_ca_file_path> .
    
    • : CA証明書のダウンロードパス(例:~/Downloads/ca.cert
    例1:192.168.1.10:5000の場合
    sudo mkdir -p /etc/docker/certs.d/192.168.1.10:5000
    cd /etc/docker/certs.d/192.168.1.10:5000/
    sudo cp <your_ca_file_path> . 
    
    例2:docker.ioの場合
    sudo mkdir -p /etc/docker/certs.d/docker.io
    cd /etc/docker/certs.d/docker.io
    sudo cp <your_ca_file_path> . 
    
  3. Dockerの再起動

    sudo systemctl restart docker
    
  4. Docker再起動後にエラーが解消されているか確認

まとめ

Dockerイメージを格納するDockerレジストリにCA証明書を設定する方法を紹介した。プライベートレジストリを構築している場合やVPNやプロキシを利用している場合に有用なので試してみてほしい。

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?