【解決】Docker Composeで原因不明の認証エラー

前回の続きのUI Testingについて書こうと思ったのですが、その前に、Docker Composeで原因不明の認証エラーが起きて、解決できたのでそれについて書きます。

症状

ユニットテストで通信する相手のサーバーをDockerでコンテナ化しています。Gitから一式を取ってきて、いつものようにdocker-composeでイメージをビルドして、コンテナを実行するように、以下を実行しました。

$ docker-compose up -d --build

しかし、今回は変なログが出力され、イメージのビルドは中断されてしまいました。ずっとエラーなく実行できていた環境なのですが、何かが起きたようです。イメージのビルドはなしで、コンテナの実行だけを行うように、以下を入力すると、問題なくコンテナが実行されました。

$ docker-compose up -d

イメージのビルドはエラー

コンテナは実行できて、問題なく使用できましたが、Dockerfileを編集して、イメージを再ビルドしたいと思っても次のエラーが起きてビルドができないという状態が継続するようになってしまいました。

Creating network "unittestmockserver_default" with the default driver
Building nginx
Traceback (most recent call last):
  File "docker-compose", line 6, in 
  File "compose/cli/main.py", line 72, in main
  File "compose/cli/main.py", line 128, in perform_command
  File "compose/cli/main.py", line 1077, in up
  File "compose/cli/main.py", line 1073, in up
  File "compose/project.py", line 548, in up
  File "compose/service.py", line 351, in ensure_image_exists
  File "compose/service.py", line 1106, in build
  File "site-packages/docker/api/build.py", line 261, in build
  File "site-packages/docker/api/build.py", line 308, in _set_auth_headers
  File "site-packages/docker/auth.py", line 311, in get_all_credentials
  File "site-packages/docker/auth.py", line 262, in _resolve_authconfig_credstore
  File "site-packages/docker/auth.py", line 287, in _get_store_instance
  File "site-packages/docker/credentials/store.py", line 25, in __init__
docker.credentials.errors.InitializationError: docker-credential-gcloud not installed or not available in PATH
[7430] Failed to execute script docker-compose

トラブルシューティング

他のマシンで実行すると問題がないので、原因はエラーが起きるこのマシンのどこかにあります。次の順序で試していきました。

  1. Dockerイメージを削除
  2. Docker Desktopを再インストール
  3. 設定をデフォルト設定にリセット

結果、最後の「設定をデフォルト設定にリセット」で直りました。

設定をデフォルト設定にリセットする方法

以下のように操作します。

(1) メニューバーのDockerアイコンから「Troubleshoot」を選択する。

(2) 「Troubleshoot」ウインドウから「Reset to factory defaults」ボタンをクリックする。

 

投稿者プロフィール

林 晃
林 晃macOS/iOSアプリ/SDK/ミドルウェア開発が専門の開発者
アールケー開発代表。macOS/iOSアプリ/SDK/ミドルウェア開発が専門の開発者。ObjC/Swift/C++使い。豊富な開発実務経験を基に、教育コンテンツ開発、技術書執筆、技術指導、技術セミナー講師、企業内研修講師、行政・自治体職員研修講師も行います。

基礎から学ぶMetal


「基礎から学ぶMetal」を執筆しました。本書はMetalを使ってGPUプログラミングを行うための最初のステップを解説するMetalの解説書です。

私が初めてGPUプログラミングを行ったとき、どこから手をつけて、学んでいけば良いのか分からず呆然としました。もし、あのとき、これを教えてくれればという部分を解説しました。本書で解説している部分はMetalの基礎となる部分で、Metalを使うときに必ず触れることになる部分です。

詳細

基礎から学ぶSwiftUI


「基礎から学ぶ SwiftUI」というタイトルの本を執筆しました。

SwiftUIの入門書です。

SwiftUIのコンセプトは「ユーザーインターフェイスを作るための最短パスを提供する」「一度学べば(Appleのプラットフォームの)どこにでも適用できる」です。

SwiftUIの概要から始まって、一つ一つのテクノロジートピックに注目しながらSwiftUIとは何か?どんなことができるのか?どのようなコードを書けば良いのかなどを丸々一冊使って解説しています。

詳細

関連記事

  1. Parallelsのキーボードショートカット設定の変更に気が付いた

  2. Bitbucket Server で Git LFS を使う

  3. Xcode 10対応 : 古いヘッダーマップはサポートされなくなる

  4. GitLabへの移行

  5. Markdownの編集環境をセットアップする

  6. セカンダリアプリ判定

最近の著書

  1. 基礎から学ぶ SwiftUI

人気記事

最近の記事