الفاشل في الإطلاق: السطر 334: تم تجاهل بايت NULL

فشل إعادة بناء تطبيق الويب الحالي مع هذا الخطأ:

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

إلا إذا قمت بتشغيل عملية تنظيف حذفت الحاوية، وفي هذه الحالة من المحتمل أن تكون في ورطة.

إذًا، أنا متفاجئ لرؤية خطأ “لا يمكن الربط”. لقد رأيت ذلك فقط عندما يحاول استخدام link الخاص بـ docker للتحدث إلى حاوية أخرى على نفس الجهاز.

أوه! نعم، إنها redis التي لا يمكنه الاتصال بها. لديك حاوية data تحتوي على redis فيها، صحيح؟ يجب أن يعمل تدمير وبدء التشغيل مع التحذير المذكور.

@pfaffman شكراً، لقد أصلحت المشكلة. نسيت أن حاوية البيانات توفر أيضًا وظيفة التخزين المؤقت لـ redis - ولكن على أي حال، تعمل الحاويات الآن مرة أخرى.

ما الذي يمكننا فعله بشأن خطأ bootstrap من البرنامج النصي 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    line too long (115 > 80 characters)  (line-length)
  8:1       warning  missing document start "---"  (document-start)
  14:4      warning  missing starting space in comment  (comments)
  14:3      warning  comment not indented like content  (comments-indentation)
  15:4      warning  missing starting space in comment  (comments)
  18:81     error    line too long (85 > 80 characters)  (line-length)
  36:3      warning  comment not indented like content  (comments-indentation)
  37:4      warning  missing starting space in comment  (comments)
  43:81     error    line too long (85 > 80 characters)  (line-length)
  44:81     error    line too long (87 > 80 characters)  (line-length)
  58:81     error    line too long (84 > 80 characters)  (line-length)
  67:81     error    line too long (90 > 80 characters)  (line-length)
  68:4      warning  missing starting space in comment  (comments)
  77:81     error    line too long (83 > 80 characters)  (line-length)
  79:4      warning  missing starting space in comment  (comments)
  99:81     error    line too long (81 > 80 characters)  (line-length)
  110:81    error    line too long (81 > 80 characters)  (line-length)
  117:81    error    line too long (81 > 80 characters)  (line-length)
  126:43    error    trailing spaces  (trailing-spaces)
  151:4     warning  missing starting space in comment  (comments)
  154:4     warning  missing starting space in comment  (comments)
  155:4     warning  missing starting space in comment  (comments)
  156:4     warning  missing starting space in comment  (comments)
  156:81    error    line too long (131 > 80 characters)  (line-length)

بالتأكيد تحتاج إلى بعض التنظيف :wink: