الحاوية هي بنية Docker يتم بناؤها وتشغيلها لتعمل كحاوية Docker.
بالمناسبة، لا تأخذ هذا بشكل خاطئ، لكن هل تفهم ما هي حاوية Docker؟ لا بأس على الإطلاق إذا لم تفهم، بالمناسبة. يستخدم الكثير من الناس Discourse يوميًا ولم يتعلموا بعد أساسيات حاويات Docker. لم يفت الأوان أبدًا للتعلم
مرجع:
ملاحظة: @Pravi. لقد زودتك بالكود للدخول إلى الحاوية والتبديل إلى المجلد الذي يحتوي على ملف الإعدادات. هل فكرت في اتباع الكود الذي نشرته؟
ملاحظة 2: مهمة rake التي تواجه صعوبة فيها (migrate_from_s3) يمكن العثور عليها هنا:
إحدى الطرق هي مراجعة سجلات ملف السجل (log file) مباشرةً قبل ظهور رسالة الخطأ، ومحاولة تحديد السطر (أو الأسطر) في ملف مهمة Rake؛ ثم محاولة عزل السبب الدقيق للمشكلة.
غالبًا ما تكون الحلول هي الجزء السهل. أما الجزء الصعب فهو اكتشاف ماهية المشكلة نفسها.
لديك أيضًا كود Ruby الكامل لمنصة Discourse الخاص بمهمة rake هذه، أعلاه.
أعتذر، لكن لدي الكثير من المهام التي يجب إنجازها أيضًا، لذا فأنا أحاول فقط أن أوضح لك، على مستوى عالٍ، كيفية تصحيح الأخطاء وحل مشاكلك بنفس الطريقة التي يتبعها معظمنا.
أعتذر عن استغراق الكثير من وقتك. في المحاولة الأخيرة، حاولت الترحيل إلى S3 بدلاً من الترحيل منها، مما أدى إلى ظهور الخطأ التالي على الرغم من أنني زودت جميع تفاصيل تخزين S3 في لوحة الإدارة الخاصة بي. يرجى إلقاء نظرة إذا كنت على دراية بهذا الخطأ.
root@ip-172-31-7-247:/var/discourse# ./launcher enter app
root@ip-172-31-7-247-app:/var/www/discourse# rake uploads:migrate_to_s3
rake aborted!
FileStore::ToS3MigrationError: يرجى توفير متغيرات البيئة التالية:
- DISCOURSE_S3_BUCKET
- DISCOURSE_S3_REGION
وأحد الخيارات التالية:
- DISCOURSE_S3_ACCESS_KEY_ID
- DISCOURSE_S3_SECRET_ACCESS_KEY
أو
- DISCOURSE_S3_USE_IAM_PROFILE
/var/www/discourse/lib/file_store/to_s3_migration.rb:38:in `s3_options_from_env'
/var/www/discourse/lib/tasks/uploads.rake:237:in `create_migration'
/var/www/discourse/lib/tasks/uploads.rake:245:in `migrate_to_s3'
/var/www/discourse/lib/tasks/uploads.rake:224:in `block in migrate_to_s3_all_sites'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rails_multisite-2.3.0/lib/rails_multisite/connection_management.rb:68:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rails_multisite-2.3.0/lib/rails_multisite/connection_management.rb:78:in `each_connection'
/var/www/discourse/lib/tasks/uploads.rake:222:in `migrate_to_s3_all_sites'
/var/www/discourse/lib/tasks/uploads.rake:218:in `block in <main>'
/usr/local/bin/bundle:23:in `load'
/usr/local/bin/bundle:23:in `<main>'
Tasks: TOP => uploads:migrate_to_s3
(انظر التتبع الكامل بتشغيل المهمة مع --trace)
تحديث:
لقد أضفت جميع متغيرات البيئة التالية DISCOURSE_S3_BUCKET، وDISCOURSE_S3_REGION، وDISCOURSE_S3_ACCESS_KEY_ID، وDISCOURSE_S3_SECRET_ACCESS_KEY إلى ملف app.yml، وتم حل المشكلة المذكورة أعلاه. الآن أستطيع الترحيل إلى S3، لكن لا أستطيع الترحيل من S3. يطلب مني إيقاف تحميل S3 على الرغم من أنني أضفت DISCOURSE_USE_S3: false في ملف app.yml.