地方エンジニアの学習日記

興味ある技術の雑なメモだったりを書いてくブログ。たまに日記とガジェット紹介。

【Docker】~/.docker/config.jsonについて

この記事はDocker/コンテナ仮想環境 Advent Calendar 2024の15日目の記事です。


~/.docker/config.json は、Docker クライアントが利用する設定を保存するための重要な構成ファイルです。通常、このファイルはユーザーのホームディレクトリ内にあり、Docker CLI を使用して認証情報や設定を変更すると自動的に作成または更新されます。このファイルの主な役割は、Docker レジストリへのログイン情報を管理することにあります。例えば、Docker Hubやプライベートなコンテナレジストリに対する認証情報が保存されており、これによって一度ログインした後に繰り返しパスワードを入力する必要がなくなります。

さらに、config.json は Docker CLI の動作に関する設定も管理します。たとえば、CLIプログレスバーを表示するかどうかや、カスタムレジストリのミラー設定など、操作性を向上させるためのさまざまなオプションがここで定義されます。これは、ユーザーが日常的に Docker を利用する際の利便性を大幅に高める重要な仕組みです。

ファイルの内容は JSON フォーマットで記述されており、設定変更は手動でこのファイルを編集することでも可能です。しかし、編集を誤ると予期しない挙動を引き起こす可能性があるため、変更時には注意が必要です。このように、~/.docker/config.json は Docker クライアントの認証と操作性を支える中核的な構成ファイルとして機能しています。

Proxyサーバの設定

Proxyの設定なんかはこんな感じで書けます。

matsuand.github.io

{
 "proxies":
 {
   "default":
   {
     "httpProxy": "http://192.168.1.12:3128",
     "httpsProxy": "http://192.168.1.12:3128",
     "noProxy": "*.test.example.com,.example2.com,127.0.0.0/8"
   }
 }
}

認証

{
  "auths": {
    "https://index.docker.io/v1/": {
      "auth": "aaaaaa"
    }
  }
}