ترقية Docker تزيل برنامج تشغيل التخزين AUFS وتقتل Discourse

أدير منتدى Discourse على Ubuntu 20.04.6 LTS. تستخدم صورة Docker نظام AUFS للتخزين.

اليوم، قمت بتثبيت ترقيات عبر sudo apt upgrade. الآن لم يعد منتدى Discourse متاحًا، ويبدو أن ذلك بسبب أن ترقية Docker أزالت برنامج تشغيل تخزين AUFS.

أرى العديد من الأدلة لتكوين Docker لاستخدام Overlay2 بدلاً من ذلك، ولكني لا أرى أي توجيهات حول كيفية ترحيل تثبيت Discourse الحالي لاستخدام Overlay2، خاصة الآن بعد أن لم أعد أستطيع بدء Docker لتحميل وحدات AUFS الخاصة بي.

عندما أقوم بتنفيذ

sudo dockerd --debug

يكون الناتج

INFO[2024-05-15T19:49:04.327570182-04:00] Starting up
DEBU[2024-05-15T19:49:04.332295421-04:00] Listener created for HTTP on unix (/var/run/docker.sock)
WARN[2024-05-15T19:49:04.340758649-04:00] failed to rename /var/lib/docker/tmp for background deletion: rename /var/lib/docker/tmp /var/lib/docker/tmp-old: file exists. Deleting synchronously
DEBU[2024-05-15T19:49:04.427688615-04:00] Golang's threads limit set to 13680
DEBU[2024-05-15T19:49:04.430903802-04:00] metrics API listening on /var/run/docker/metrics.sock
DEBU[2024-05-15T19:49:04.554881397-04:00] Using default logging driver json-file
DEBU[2024-05-15T19:49:04.555543790-04:00] No quota support for local volumes in /var/lib/docker/volumes: Filesystem does not support, or has not enabled quotas
DEBU[2024-05-15T19:49:04.563660483-04:00] processing event stream                       module=libcontainerd namespace=plugins.moby
DEBU[2024-05-15T19:49:04.567109514-04:00] Error while looking up volume                 driver=local error="volume not found" volume=
DEBU[2024-05-15T19:49:04.567813165-04:00] Error while looking up volume                 driver=local error="volume not found" volume=
INFO[2024-05-15T19:49:04.574217050-04:00] [graphdriver] trying configured driver: aufs
DEBU[2024-05-15T19:49:04.574500003-04:00] daemon configured with a 15 seconds minimum shutdown timeout
DEBU[2024-05-15T19:49:04.574603992-04:00] start clean shutdown of all containers with a 15 seconds timeout...
DEBU[2024-05-15T19:49:04.578694693-04:00] Cleaning up old mountid : start.
DEBU[2024-05-15T19:49:04.579329989-04:00] Cleaning up old mountid : done.
failed to start daemon: error initializing graphdriver: [graphdriver] ERROR: the aufs storage-driver has been deprecated and removed; visit https://docs.docker.com/go/storage-driver/ for more information: aufs

كيف يمكنني استعادة منتدى Discourse الخاص بي دون فقدان أي بيانات؟ هل يمكنني بطريقة ما استعادة برنامج تشغيل تخزين AUFS ثم الترحيل إلى Overlay2؟

لن تفقد البيانات، إنها موجودة في /var/discourse/shared.

إذا كان docker يعمل، فقط أعد البناء وستكون بخير.

للأسف، توقف Docker عن العمل بعد الترقية. يمكنك رؤية الخطأ في السطر الأخير من المخرجات التي قدمتها.

يمكنني تشغيل Docker إذا قمت بتغيير محتويات /etc/docker/daemon.json من

 {
     "storage-driver": "aufs"
 }

إلى

 {
     "storage-driver": "overlay2"
 }

ومع ذلك، لا يزال منتدى Discourse الخاص بي لا يعمل بعد إجراء هذا التغيير.

هل تقصد أنه سيعمل، ويحافظ على المستخدمين والمشاركات وبقية التكوين والبيانات التاريخية إذا قمت بتنفيذ ما يلي وأعدت تشغيل Docker؟

cd /var/discourse
git pull
./launcher rebuild app

هل ستقوم إعادة بناء Discourse بهذه الطريقة بترحيل جميع بيانات المنتدى إلى تخزين Overlay2؟

أتوقع أن ذلك سيعمل. لا أستطيع تخيل طريقة ستفقد بها البيانات.

إعجاب واحد (1)

لقد كنت على حق، على ما يبدو. بعد تغيير مشغل التخزين في /etc/docker/daemon.json إلى overlay2 وتنفيذ ./launcher rebuild app، يبدو أن المنتدى عاد للعمل.

الآن أتساءل عما إذا كان ينبغي عليّ المخاطرة وإجراء ترقية لإصدار Ubuntu إلى 22.04.3 LTS. :slight_smile:

سأنتظر قليلاً وأنشئ صورة جديدة 24.04 وأنتقل إليها بدلاً من إجراء ترقية، أو انتقل ببساطة إلى 22.04 الآن. لا أثق في مقدار الأشياء التي لا تتم ترقيتها عند إجراء ترقية. بالإضافة إلى ذلك، تتجنب وقت التوقف عن العمل وإذا حدث خطأ ما، فسيظل خادمك القديم يعمل.

نقل موقع Discourse إلى VPS آخر باستخدام rsync

إعجابَين (2)

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