ランチャーエラー:334行目:NULL-Byte無視

ウェブアプリの現在の再構築がこのエラーで失敗します。

root@docker2:/var/discourse# ./launcher stop web_only && ./launcher rebuild data && ./launcher rebuild web_only
x86_64 arch detected.
+ /usr/bin/docker stop -t 600 web_only
web_only
x86_64 arch detected.
Ensuring launcher is up to date
Launcher is up-to-date
Stopping old container
+ /usr/bin/docker stop -t 600 data
data
./launcher: Zeile 334: Warnung: Kommandoersetzung: NULL-Byte in der Eingabe ignoriert.
2.0.20240825-0027: Pulling from discourse/base
Digest: sha256:6de68cb49198b5281f79ed9401b3fe818c854d220dcf0238549fe2f2adb19146
Status: Image is up to date for discourse/base:2.0.20240825-0027
docker.io/discourse/base:2.0.20240825-0027
/usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups.rb
/usr/local/bin/pups --stdin
I, [2024-10-04T15:54:02.326983 #1]  INFO -- : Reading from stdin
/usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/cli.rb:54:in `split': invalid byte sequence in UTF-8 (ArgumentError)

        split = conf.split("_FILE_SEPERATOR_")
                           ^^^^^^^^^^^^^^^^^^
        from /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/cli.rb:54:in `run'
        from /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/bin/pups:9:in `<top (required)>'
        from /usr/local/bin/pups:25:in `load'
        from /usr/local/bin/pups:25:in `<main>'
bootstrap failed with exit code 1
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.

これを修正する方法について何かアイデアはありますか?この再デプロイ後、私のフォーラムは現在利用できません :worried:

「いいね!」 1

これで復旧できるはずです。

./launcher start app

これにより、古いコンテナが再起動されます。

実際の問題が何であるかはわかりませんが、リグレッションの可能性があります。

この場合、web_only と data は分離されたコンテナであり、web_only コンテナの起動に失敗します。

oot@docker2:/var/discourse# ./launcher start web_only
x86_64 arch detected.

starting up existing container
+ /usr/bin/docker start web_only
Error response from daemon: Cannot link to a non running container: /data AS /web_only/data
Error: failed to start containers: web_only

データベースが別のマシンで外部にあるため、この場合は手動で docker を介して起動する必要があるかもしれません。web_only yaml のこのコードを参照してください。

 ## connect to central postgres database
  DISCOURSE_DB_SOCKET: ''
  DISCOURSE_DB_USERNAME: discourse
  DISCOURSE_DB_PASSWORD: xxxxxxxxxx
  DISCOURSE_DB_HOST: 10.10.xx.xx
  DISCOURSE_REDIS_HOST: data

すみません。その部分は知りませんでした(あるいは、注意深く読んでいなかったのかもしれません)。

その場合は、以下を実行する必要があります。

./launcher destroy web_only;./launcher start web_only

クリーンアップでコンテナが削除された場合は、おそらく問題が発生しているでしょう。

それなら、「リンクできません」というエラーが表示されるのは驚きです。それは、同じマシン上の別のコンテナに Docker の link を使用しようとしている場合にのみ見られます。

ああ!Redis に接続できないのですね。Redis が含まれている data コンテナがありますよね?指定された注意点があれば、destroy start は機能するはずです。

@pfaffman ありがとうございます。これで解決しました。データコンテナがRedisキャッシュ機能も提供していることを忘れていました。いずれにせよ、コンテナは再び実行されています。

launcherスクリプトの334行目のブートストラップエラーについて、どうすればよいでしょうか?このエラーは初めて見ました。launcher_go/v2を代替として使用する準備はできていますか?

330 set_template_info() {
    331     templates=$(find_templates $config_file)
    332
    333     arrTemplates=(${templates// / })
    334     config_data=$(cat $config_file)
    335
    336     input="hack: true"
    337
    338     for template in "${arrTemplates[@]}"
    339     do
    340       [ ! -z $template ] && {
    341         input="$input _FILE_SEPERATOR_ $(cat $template)"
    342       }
    343     done
    344
「いいね!」 1

これはエラーではなく、単なる警告です

こちらがエラーです。

web-app.yml が破損している可能性があります。

「いいね!」 2

はい:

root@docker2:/var/discourse/containers# yamllint web_only.yml
web_only.yml
  5:81      error    行が長すぎます (115 文字 > 80 文字)  (line-length)
  8:1       warning  ドキュメント開始「---」がありません  (document-start)
  14:4      warning  コメントの開始スペースがありません  (comments)
  14:3      warning  コンテンツのようにインデントされていないコメント  (comments-indentation)
  15:4      warning  コメントの開始スペースがありません  (comments)
  18:81     error    行が長すぎます (85 文字 > 80 文字)  (line-length)
  36:3      warning  コンテンツのようにインデントされていないコメント  (comments-indentation)
  37:4      warning  コメントの開始スペースがありません  (comments)
  43:81     error    行が長すぎます (85 文字 > 80 文字)  (line-length)
  44:81     error    行が長すぎます (87 文字 > 80 文字)  (line-length)
  58:81     error    行が長すぎます (84 文字 > 80 文字)  (line-length)
  67:81     error    行が長すぎます (90 文字 > 80 文字)  (line-length)
  68:4      warning  コメントの開始スペースがありません  (comments)
  77:81     error    行が長すぎます (83 文字 > 80 文字)  (line-length)
  79:4      warning  コメントの開始スペースがありません  (comments)
  99:81     error    行が長すぎます (81 文字 > 80 文字)  (line-length)
  110:81    error    行が長すぎます (81 文字 > 80 文字)  (line-length)
  117:81    error    行が長すぎます (81 文字 > 80 文字)  (line-length)
  126:43    error    末尾のスペースがあります  (trailing-spaces)
  151:4     warning  コメントの開始スペースがありません  (comments)
  154:4     warning  コメントの開始スペースがありません  (comments)
  155:4     warning  コメントの開始スペースがありません  (comments)
  156:4     warning  コメントの開始スペースがありません  (comments)
  156:81    error    行が長すぎます (131 文字 > 80 文字)  (line-length)

確かにクリーンアップが必要です :wink: