Discourse ベースイメージのプーリングが不可能、docker login の不具合により

ブートストラップを試みたところ、奇妙なエラーが発生しました。

このサイトは2日前に問題なく更新しました。

root@support:/var/discourse# ./launcher bootstrap multi

WARNING: We are about to start downloading the Discourse base image
This process may take anywhere between a few minutes to an hour, depending on your network speed

Please be patient

Unable to find image 'discourse/base:2.0.20200429-2110' locally
/usr/bin/docker: Error response from daemon: Get https://registry-1.docker.io/v2/discourse/base/manifests/2.0.20200429-2110: unauthorized: please use personal access token to login.
See '/usr/bin/docker run --help'.
Your Docker installation is not working correctly

See: https://meta.discourse.org/t/docker-error-on-bootstrap/13657/18?u=sam
root@support:/var/discourse# docker version
Client:
 Version:           18.09.6
 API version:       1.39
 Go version:        go1.10.8
 Git commit:        481bc77
 Built:             Sat May  4 02:35:27 2019
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          18.09.6
  API version:      1.39 (minimum version 1.12)
  Go version:       go1.10.8
  Git commit:       481bc77
  Built:            Sat May  4 01:59:36 2019
  OS/Arch:          linux/amd64
  Experimental:     false

root@support:/var/discourse# docker ps
CONTAINER ID        IMAGE                   COMMAND             CREATED             STATUS              PORTS                  NAMES
1e63a91934e8        local_discourse/multi   "/sbin/boot"        2 days ago          Up 2 days           0.0.0.0:7777->80/tcp   multi
8681e70a72a0        local_discourse/data    "/sbin/boot"        4 months ago        Up 3 weeks                                 data
root@support:/var/discourse# docker ps

Caddyをリバースプロキシとして使用するマルチサイトインスタンスですが、数年間正常に動作していた標準的なインストールです。

「いいね!」 1

docker pull 'discourse/base:2.0.20200429-2110' をそのまま実行するとどうなるでしょうか?

root@support:/var/discourse# docker pull 'discourse/base:2.0.20200429-2110'
デーモンからのエラー応答: Get https://registry-1.docker.io/v2/discourse/base/manifests/2.0.20200429-2110: unauthorized: ログインにはパーソナルアクセストークンの使用が必要です
root@support:/var/discourse# 

また:

root@support:/var/discourse# curl https://registry-1.docker.io/v2/discourse/base/manifests/2.0.20200429-2110
{"errors":[{"code":"UNAUTHORIZED","message":"認証が必要です","detail":[{"Type":"repository","Class":"","Name":"discourse/base","Action":"pull"}]}]}
root@support:/var/discourse# 

お使いのローカル Docker デーモンがそのリポジトリへの認証を試みています。JSON ファイル内の設定を確認してください。

「いいね!」 2

これは賢明な助言のように思えますが、どう対応すればよいか分かりません。

docker run -it --rm hello-world

も同様に失敗します。

Docker を 19.03.8 にアップグレード(以前は 18.03 程度)して再起動しました。既存のコンテナは再起動しました。

何が変更されてこれが壊れたのか見当もつきません。/etc/docker/key.json を確認しましたが、他のマシンのそれと非常に似ています。

Google で「docker unauthorized: please use personal access token to login for public repo」と検索しても役に立ちません。

「いいね!」 1

docker login で問題が解決する可能性があります。

また、~/.docker/config.json を確認して、認証情報を保持しているレジストリを確認することもできます。ログインが不要な場合は、そのファイルからそれらを削除するだけでかまいません。

「いいね!」 3

それでした!

docker settings/security にアクセスして、新しいトークンを生成し、docker login --username pfaffman を実行して新しいキーを貼り付けました。なぜ古いキーが突然使えなくなったのか、なぜ急に必要になったのかはわかりません。2 日前には問題なくアップグレードしていました。

ありがとう、マイケル!

「いいね!」 3

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.