لا يمكن الترقية بسبب إصدار Docker القديم

أثناء الترقية، قمت بتشغيل الأمر cd /var/discourse; git pull; ./launcher rebuild app.

ظهرت لي الرسائل “اكتملت الترقية” و"اكتملت ترقية PostgreSQL". تشير الرسالة الأخيرة إلى “إعادة البناء مرة أخرى”، لكن يبدو أن ذلك لا يُحدث أي فرق.

على الرغم من اكتمال الترقية، لا يمكنني تشغيل التطبيق. عند تنفيذ ./launcher start app، يظهر الخطأ التالي:

Unable to find image 'local_discourse/app:latest' locally
/usr/bin/docker: Error response from daemon: pull access denied for local_discourse/app, repository does not exist or may require 'docker login'.
See '/usr/bin/docker run --help'.

لا يمكنني إعادة تشغيل التطبيق مرة أخرى، ولا أعرف كيف أتابع.

لم يُساعد الأمر ./discourse-doctor (فهو يكتشف فقط أن التطبيق غير قيد التشغيل، ويحاول إعادة البناء وإعادة التشغيل، لينتهي بنفس الخطأ).

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

فشل إعادة بناء التطبيق.

التحقق من اسم النطاق الخاص بك . . .

نجح الاتصال بـ community.gingkoapp.com.
ينبغي عليك على الأرجح إزالة أي إضافات غير قياسية وإعادة البناء.
محاولة إعادة تشغيل الحاوية الحالية . . .

+ /usr/bin/docker run --shm-size=512m -d --restart=always -e LANG=en_US.UTF-8 -e RAILS_ENV=production -e UNICORN_WORKERS=2 -e UNICORN_SIDEKIQS=1 -e RUBY_GLOBAL_METHOD_CACHE_SIZE=131072 -e RUBY_GC_HEAP_GROWTH_MAX_SLOTS=40000 -e RUBY_GC_HEAP_INIT_SLOTS=400000 -e RUBY_GC_HEAP_OLDOBJECT_LIMIT_FACTOR=1.5 -e DISCOURSE_DB_SOCKET=/var/run/postgresql -e DISCOURSE_DB_HOST= -e DISCOURSE_DB_PORT= -e DISCOURSE_DEVELOPER_EMAILS=REDACTED  -e DISCOURSE_HOSTNAME=community.gingkoapp.com -e DISCOURSE_SMTP_ADDRESS=smtp.mailgun.org -e DISCOURSE_SMTP_USER_NAME=postmaster@community.gingkoapp.com -e DISCOURSE_SMTP_PASSWORD=REDACTED  -h community-app -e DOCKER_HOST_IP=172.17.0.1 --name app -t -p 80:80 -p 2222:22 -v /var/discourse/shared/standalone:/shared -v /var/discourse/shared/standalone/log/var-log:/var/log --mac-address 02:fc:04:ee:f5:11 local_discourse/app /sbin/boot
Unable to find image 'local_discourse/app:latest' locally
/usr/bin/docker: Error response from daemon: pull access denied for local_discourse/app, repository does not exist or may require 'docker login'.
See '/usr/bin/docker run --help'.
فشل إعادة تشغيل الحاوية.
  1. What is Your docker version?
  2. Did You try solutions suggested in this FAQ?

Thanks!

Docker version 17.12.0-ce

I am in a space-constrained environment (I’m constantly being asked attempt to clean up images), so that sounds like a plausible reason for this failure.

Will try steps listed and report back.

Your discourse docker version is too old.
I’d suggest updating that before proceeding.

Not sure how to do that without the web interface (or curl to the API), given that it’s down. But will look into it. I’m just going to upgrade my droplet disk size first and see if that helps.

(unless you meant that my docker version is old?)

Ohh. I’m sorry.
I meant to say docker is too old. Try upgrading that first. Extremely sorry for the typo and confusion.

No worries, I figured that’s what you meant, since you asked for docker version.
I’m also on 14.04, so I’m going to upgrade that first, to 16.04.

Thanks again for the input. Will post back any updates.

Boy oh boy!

14.04 > 16.04 > 18.04 you’ve got a long day ahead.

Just bear in mind 16.04 is also EOL in 2021 so bump to at least 18.04

Working hard just to stand still… story of my life!
Software moves too fast for me! :stuck_out_tongue_closed_eyes:

إعجابَين (2)

I wish you all the best with this new adventure of software upgrades. :confetti_ball:

If that is a VPS it isn’t necessary to upgrade the current server. Spinnning a new one running 20.04 and moving your site to that new server is way faster and easier.

But their container is messed up and not starting due to multiple reasons.

Last automatic backup will be under the shared folder to be moved to the new server.

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

Where can I find which is currently the oldest supported docker version with Discourse?

Here

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

Yes, that’s what I’m doing at the moment. Should be much faster than upgrading current… cross my fingers that I can restore from backup files (which I can still access on the old server).

إعجابَين (2)

Thanks…!

So that seems like this one is supported well in current discourse… Why do you think it is too old @itsbhanusharma?

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

Who said it’s supported?
Any docker version that is over a couple years old isn’t even supported by it’s developer then how do you expect it to be supported by discourse?

I’m just looking at the source code…

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

All’s well now. I spun up a fresh Digital Ocean droplet and restored the backup. The latest backup was corrupt, I think, but at least I only lost one or two posts and restored successfully from the backup before that.

Thanks for your help, everyone!

3 إعجابات