إجراءات التشغيل القياسية لنظام التشغيل المضيف لـ Docker Discourse

هناك العديد من منشورات كيفية القيام بذلك التي تُعد ممتازة، لكنني لم أستطع العثور على منشور واحد (أو ربما لا يوجد أصلًا) يتناول ما يلي:

  • بالنسبة لمن يقومون بالاستضافة الذاتية، كيفية تكوين نظام التشغيل المضيف (مثل Ubuntu) ليكون مخصصًا فقط لاستضافة حاوية Docker.
  • بمجرد تشغيل الموقع، ما هي إجراءات التشغيل القياسية التي ينبغي اتخاذها على نظام التشغيل المضيف، مثل التحقق من الاختراقات، وكيفية الانتقال من نظام التشغيل المضيف إلى الحاوية، وكيفية تخزين المعلومات الأساسية استعدادًا لأي مشكلة، وما إلى ذلك.

أدرك تمامًا أن الدليل سيكون مختلفًا لكل نظام تشغيل وموقع، لكن هناك العديد من الأمور المشتركة أيضًا.

بما أن نظام التشغيل سيعمل فقط على تشغيل حاوية Docker، فسيكون هناك ملفات وخدمات زائدة عن الحاجة. فما هي هذه الزوائد؟ هل نحتاج إلى واجهة رسومية (GUI) وجميع الآليات والحزم المطلوبة؟

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


كمثال، عند إنشاء إجراءات تشغيل قياسية (SOP) لموقعنا، إليك نتائج مختلفة لأمر pstree، أحدها من نظام التشغيل المضيف والآخر من داخل حاوية Docker. هل يحتاج المضيف حقًا إلى كل هذه العمليات؟ في الأيام القليلة القادمة سأعرف الإجابة بالتأكيد، لكن ربما يعرف الآخرون بالفعل ويمكنهم مشاركة ذلك معنا.

    systemd─┬─ModemManager───2*[{ModemManager}]
            ├─NetworkManager─┬─dhclient
            │                └─2*[{NetworkManager}]
            ├─accounts-daemon───2*[{accounts-daemon}]
            ├─2*[agetty]
            ├─atd
            ├─containerd─┬─containerd-shim─┬─boot───runsvdir─┬─runsv───rsyslogd───2*[{rsyslogd}]
            │            │                 │                 ├─runsv───cron
            │            │                 │                 ├─runsv───unicorn_launche─┬─ruby─┬─ruby───22*[{ruby}]
            │            │                 │                 │                         │      ├─6*[ruby───8*[{ruby}]]
            │            │                 │                 │                         │      ├─2*[ruby───9*[{ruby}]]
            │            │                 │                 │                         │      └─5*[{ruby}]
            │            │                 │                 │                         └─sleep
            │            │                 │                 ├─runsv─┬─redis-server───3*[{redis-server}]
            │            │                 │                 │       └─svlogd
            │            │                 │                 ├─runsv─┬─postmaster───9*[postmaster]
            │            │                 │                 │       └─svlogd
            │            │                 │                 └─runsv───nginx───5*[nginx]
            │            │                 └─10*[{containerd-shim}]
            │            └─18*[{containerd}]
            ├─cron
            ├─dbus-daemon
            ├─dockerd─┬─docker-proxy───8*[{docker-proxy}]
            │         ├─docker-proxy───7*[{docker-proxy}]
            │         └─16*[{dockerd}]
            ├─irqbalance───{irqbalance}
            ├─lvmetad
            ├─lxcfs───4*[{lxcfs}]
            ├─networkd-dispat───{networkd-dispat}
            ├─polkitd───2*[{polkitd}]
            ├─rsyslogd───3*[{rsyslogd}]
            ├─sshd───sshd───sshd───bash───pstree
            ├─sudo───docker───11*[{docker}]
            ├─systemd───(sd-pam)
            ├─systemd-journal
            ├─systemd-logind
            ├─systemd-resolve
            ├─systemd-timesyn───{systemd-timesyn}
            ├─systemd-udevd
            └─wpa_supplicant
boot───runsvdir─┬─runsv───rsyslogd───2*[{rsyslogd}]
                ├─runsv───cron
                ├─runsv───unicorn_launche─┬─ruby─┬─ruby───22*[{ruby}]
                │                         │      ├─6*[ruby───8*[{ruby}]]
                │                         │      ├─2*[ruby───9*[{ruby}]]
                │                         │      └─5*[{ruby}]
                │                         └─sleep
                ├─runsv─┬─redis-server───3*[{redis-server}]
                │       └─svlogd
                ├─runsv─┬─postmaster───9*[postmaster]
                │       └─svlogd
                └─runsv───nginx───5*[nginx]

تعديل

للتكوين الأدنى من Ubuntu انظر: Ubuntu الأدنى
ملاحظة: لم أجرب هذا حتى الآن، لكنني فقط أقوم بنقل المعلومة.
ما هو قديم ويعمل عادة لا يزال ساريًا. انظر: Discourse في حاوية Docker بواسطة سام. :grinning:
يقدم الكثير من الأفكار حول تاريخ استخدام Discourse في Docker وكيف يعمل.

إعجابَين (2)