مشكلة عدم دعم إصدار Docker

مرحبًا،

لقد قمت بتغيير إعدادات SMTP وحاولت إعادة بناء التطبيق.

cd /var/discourse
./launcher rebuild app

الناتج: خطأ: إصدار Docker 1.9.1 غير مدعوم، يرجى الترقية إلى إصدار 17.03.1 على الأقل، أو الموصى به 17.06.2

ما الذي يمكنني فعله؟ هل لديك أي اقتراحات؟

هل جربت ترقية Docker إلى الإصدار 17.03.1 أو أحدث؟ إذا لم تكن متأكدًا من كيفية القيام بذلك، فقم بتشغيل uname -a والصق النتائج هنا.

مرحبًا، شكرًا لك على الإجابة.

إليك النتيجة:
Ekran Resmi 2020-03-15 01.13.43

sudo apt-get update && sudo apt-get upgrade يجب أن يحل المشكلة. يعتمد الأمر حقًا على كيفية تثبيت Docker في البداية.

هل هناك خطر من أن يعطل شيء ما عمل Discourse بعد التحديث؟

هناك دائمًا خطر من هذه الأنواع من الأمور، ولكن إذا كنت ترغب في إعادة بناء التطبيق، فستحتاج إلى ترقية Docker.

توصيتي هي أن تخبر مجتمعك بأنك تقوم ببعض الصيانة، وقم بنسخ احتياطي إذا لم تكن قد قمت بذلك بالفعل، ثم قم بالترقية.

يبدو أن النواة 3.13.0-147 قديمة بعض الشيء؟

نعم.

في هذه الحالة، هل نحتاج إلى إصدار تحديث منفصل للنواة؟ أم أن الأمر التالي كافٍ؟

sudo apt-get update && sudo apt-get upgrade

هل يشمل ذلك أيضًا apt-get dist-upgrade؟ يُستحسن التحقق من وثائق أوبونتو للتأكد.

أنا أحاول فقط تغيير خدمة البريد الإلكتروني وإعدادات SMTP في ملف app.yml. هل توجد طريقة أخرى للتحقق من صحة هذه الإعدادات (في ملف app.yml) دون تطبيقها؟

لأسباب أمنية، يُنصح بشدة بتشغيل أحدث إصدارات البرنامج، لكن القرار يعود إليك…

وفقًا لـ How to reload configuration after app.yml changes? - #2 by riking إذا كنت تقوم فقط بتغيير الإعدادات في قسم env من ملف app.yml ولا تحتاج إلى هذه البيئة لعملية التمهيد، فيجب أن يعمل الأمر ./launcher restart app لإعادة تحميل إعدادات SMTP.

أمر ./launcher restart app لا يعمل أيضًا. الخطأ: إصدار Docker 1.9.1 غير مدعوم.

ما الذي يمكننا فعله بعد ذلك؟

المشكلة هي أن الأمر launcher rebuild يسحب أحدث الكود من GitHub، وهو غير متوافق مع إصدار Docker الخاص بك. يمكن تجنب ذلك إذا لم تكن قد شغلت عملية إعادة البناء بعد، لكن في هذه الحالة، الحل الوحيد على الأرجح هو المضي قدمًا. كما أشار @yanokwa، فإنك حقًا لا تريد تشغيل إصدارات قديمة جدًا من نظام التشغيل أو Discourse، حيث توجد مجموعة من مشاكل الأمان عند القيام بذلك.

ما الذي حدث عند محاولة تنفيذ dist-upgrade كما هو موضح أعلاه؟

لم أستخدم هذا الأمر. أنا أبحث عن طريقة لحل المشكلة دون التحديث. (للمن الآن. :slight_smile: )

لقد قمت بتحديث Discourse، مما يعني أنك بحاجة الآن إلى إصلاح Docker.

dist-upgrade قد يحقق ذلك. بافتراض أن لديك نسخًا احتياطية من النسخ الاحتياطية الخاصة بك وأن هذا هو التطبيق الوحيد على الخادم، فلا يوجد خطر كبير في هذه المرحلة. في أسوأ الحالات، ستحتاج فقط إلى إعادة تشغيل دليل التثبيت لمدة 30 دقيقة واستعادة نسخة احتياطية.

هل كنت أنت من بنى الخادم؟ هل تتذكر كيف تم بناؤه إذا كان الأمر كذلك؟ كلما زادت المعلومات التي يمكنك تقديمها لنا هنا، كلما تمكنا من إيجاد حل لك بشكل أسرع.

لم أقم ببناء الخادم. لقد قمت بإنشاء لقطة (snapshot) وأعمل عليها.

استخدمت هذه الأوامر لترقية إصدار Docker ونواة النظام:

sudo apt-get dist-upgrade
sudo apt-get update && sudo apt-get upgrade

بعد الترقية، لا يزال إصدار Docker 1.9.1 :frowning:

حاولت ترقية إصدار Docker باستخدام الأمر التالي:

wget -qO- https://get.docker.com/ | sh

عند تشغيل أمر docker run -it --rm hello-world، كان الناتج كالتالي:

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
1b930d010525: Pull complete 
Digest: sha256:f9dfddf63636d84ef479d645ab5885156ae030f611a56f3a7ac7f2fdd86d7e4e
Status: Downloaded newer image for hello-world:latest
docker: Error response from daemon: OCI runtime create failed: container_linux.go:348: starting container process caused "process_linux.go:301: running exec setns process for init caused \"exit status 23\"": unknown.

عند تشغيل أمر ./launcher rebuild app، كان الناتج كالتالي:

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.20200220-2221' locally
2.0.20200220-2221: Pulling from discourse/base
bc51dd8edc1b: Pulling fs layer
27ae5d171719: Pulling fs layer
bc51dd8edc1b: Verifying Checksum
bc51dd8edc1b: Download complete
bc51dd8edc1b: Pull complete
27ae5d171719: Verifying Checksum
27ae5d171719: Download complete
27ae5d171719: Pull complete
Digest: sha256:b3acee0b655f071e98205dbd12fa78b95a6dd4038d27f1259177f76ab2efe4f7
Status: Downloaded newer image for discourse/base:2.0.20200220-2221
/usr/bin/docker: Error response from daemon: OCI runtime create failed: container_linux.go:348: starting container process caused "process_linux.go:301: running exec setns process for init caused \"exit status 23\"": unknown.
Your Docker installation is not working correctly

See: https://meta.discourse.org/t/docker-error-on-bootstrap/13657/18?u=sam

قد تحتاج إلى إعادة تشغيل النظام بعد ترقية Docker.

بعد إعادة التشغيل، نفس المخرجات:

/usr/bin/docker: استجابة خطأ من الديمون: فشل إنشاء وقت التشغيل OCI: container_linux.go:348: بدء عملية الحاوية تسبب في "process_linux.go:301: تشغيل عملية exec setns لـ init تسبب في \"خروج بحالة 23\"": غير معروف.
تثبيت Docker الخاص بك لا يعمل بشكل صحيح

انظر: https://meta.discourse.org/t/docker-error-on-bootstrap/13657/18?u=sam