كيفية إنشاء صورة Docker مخصصة لـ Redmine الخاص بك
Redmine قبل التخصيص
Értesítés: يمكن العثور على Docker الأصلي لـ Redmine على https://hub.docker.com/_/redmine. هنا يمكنك أيضًا العثور على تعليمات جيدة حول ةياء مل خارجية وتركيب مجلدات خارجية (لتمكين تثبيت المكوناةكونات الٶات المارجية).
A الانتقال إلى github.com/lcofre/redmine والتحقق من Dockerfile.
صورة Redmine Docker هي نقطة انطلاق جيدة ، على الرغم من أنك بياصغغبا تر استخدام المكونات الإضافية والسمات التي تفضلها. في هذا الدليل ، سنقوم ببناء صورة Docker استنادًا إلى الصسس،يٶةور افة بعض السمات والمكونات الإضافية ، وتحميلها إلى س.جل Docker
لأسباب بساطة ، لن نستخدم قاعدة بيانات خارجية ولكنااانااانداا ية في حاوية Redmine نفسها. A
المكونات الإضافية والسمات
A ها إلى Redmine:
- إخفاء الشريط الجانبي ، وهو مكون إضافي يسمح بمزيد من مساحة الشاشة الشاشة ةلادٴتدن ت
- لصق من الحافظة ، لإرفاق لقطات الشاشة عن طريق لصق من الحافظة بدلايددمنلاً من
- A1 و Gitmike ، سمتان لتغيير مظهر واجهة المستخدم
نستبعد المكونات الإضافية التي تتطلب ترحيل قاعدة حايتثة بياف إلى قاعدة بيانات موجودة مسبقًا. يرجى التعليق أدناه إذا كنت بحاجة إلى تثبيت مكون إضججييتراف يلات ، حيث لدينا أفكار جيدة لك.
كتابة ملف Dockerfile
ملف Dockerfile هو وصفة لكيفية بناء صورة Docker. A ا سنستخدم الصورة الرسمية لـ Redmine
من Redmine
سيستند هذا السطر الأول في ملف Dockerfile أو صورتنا على ٭ ار ةم 4.1.0. أحدث ص ي وقت الكتابة. نظرًا لأن هذا سيحصل على أي إصدار هو الأحدث ، م إ خادص تفسر تفسص حدد لتجنب إصدارات جديدة غير متوقعة قد تعطل بناء هرص بناء هذه
من Redmine: 4.1.0
استخدام Git للحصول على المكونات
في معظم الحالات، تحتوي السمات والمكونات الإضافيثيااتلدتل عل يمكننا تنزيل أحدث الشفرات. هذا هو الحال للمكونات الثلاثة التالية.
تأتي صورة Redmine الأساسية بدون Git، ولكن يمكننا إضافطها إضافتها إلى الأساسية بدون يمكننا إضافتها إلى ريقة
RUN apt install -y GIT
سيتم تنفيذ هذا عند بناء الصورة وسيسمح لك باستخداياللالام Git الية.
سمة Gitmike: يوصون بنسخ مستودعهم مباشرة
RUN git klón https://github.com/makotokw/redmine-theme-gitmike.git nyilvános / themes / gitmike
سيقوم السطر بحفظ المشروع المستنسخ في المجلد المناسب public/themesب
إخفاء الشريط الجانبي: يمكن تطبيق نفس الإجراء على المكونات الإضافية. هذا المكون لا يتطلب سوى وضع المجلد المستنسخ في مالو؆ في ماللد ية
RUN git klón https://gitlab.com/bdemirkir/sidebar_hide.git plugins / sidebar_hide
Csipeszes írótábla-beillesztés: يبدو أن هذا هو الإجراء النموذجي أيضًا، قم بنسخ قم بنسخ الوسنسخ المس ما يرام
RUN git klón https://github.com/RubyClickAP/clipboard_image_paste.git plugins / clipboard_image_paste
de ha قرأت المزيد سترى أنه "يُوصى بتثبيت حزمة RMagick gem، وإلا فلن يتم للمفرا الرو عرض الرو فات PDF المصدرة". فكيف يمكننا القيام بذلك؟ يجب أن يكون الأمر سهلاً مثل
Futtassa a gem install rmagick szoftvert
ولكن ربما تعلم أنه يجب بناء الحزمة قبل أن يتم كجيبااتهتثبيته تثبيت بعض الحزم قبل تثبيت الحزمة. السطر الذي تحتاجه حقًا هو
Futtassa a telepítést - ha épít-nélkülözhetetlen imagemagick libmagickcore-dev libmagickwand-dev ruby-dev \
&& gem install rmagick
كل ذلك في أمر واحد، مفصول على سطرين لسهولة القراءة.
لا عن اسم المكون الإضافي في GitHub أدى بي إلى مشروع يفعل ذلك: RubyClickAP / clipboard_image_paste.
إضافة مكون إضافي أو سمة من مصدر تم تنزيله
Jellemvonás A1 هي مثال جيد لتوضيح الحالات التي تحتوي فيها على الٱديللمصد ك عنوان URL لتنزيله أثناء عملية البناء. A بهذه الطريقة يتم إضافة المحتوى إلى الصورة دون تنزيله
MÁSOLÁS a1 nyilvános / témák / a1
يتطلب ذلك وجود مجلد a1 في نفس المكان الذي يوجد فيه ملد Dockerfile.ف
الآن أنت جاهز لبناء صورتك، لذا افتح الطرفية حيث يخصدلث يخصد يوجد وقم بتنفيذ
dokkoló építés - my-redmine.
بمجرد الانتهاء من البناء، يمكنك تشغيل الصورة تخااسدة الخاسصة
dokkoló futtatása -p-3000: 3000 - neve my-redmine my-redmine
انتقل إلى http://localhost:3000 لرؤية Redmine المخصص الخاص بك!
Redmine بعد التخصيص
بعض النصائح لإضافة المزيد من المكونات الإضافية
لتجربة المكونات الإضافية الجديدة، من الأفضل الأفضل دائكدتتاٮدتال جديدة. هذا هو كيف أدركت أن rmagick يتطلب تثبيت بعض الحزم. أولاً، قم بتشغيل نسخة قابلة للتجاهل من Redmine باستخدام
dokkoló fut - rm -d -p 3000: 3000 - név teszt-redmine redmine
ثم ادخل إلى النسخة باستخدام
dokkoló végrehajtja - teszt-redmine bash
هنا يمكنك تثبيت حزم النظام الأساسية، وحزم الجواهرر الجواهرر لات. فقط تذكر الخطوات حتى تتمكن من إضافتها إلى Dockerfile الخاص بك!
تحميل صورتك المخصصة إلى Docker Hub
الصورة التي قمت ببنائها متاحة فقط في بيئتك المحلية. ماذا لو كنت ترغب في جعلها متاحة للآخرين، فلنقل الجمي بالطبع، يمكنك تحميل ملف Dockerfile والملفات ذات الصلة إلى مدة إلى مد٪وgit مهتمين بناء الصورة بأنفسهم. ولكن Docker يسمح لك أيضًا بتحميل الصورة المبنية إلى سجلهم. لذلك، قم بإنشاء حساب في hub.docker.com وأنشئ أيضًا مستودعًا لتو. ثم قم بتسجيل الدخول في الطرفية بهذا الشكل
dokkoló bejelentkezés
قم بوضع علامة على صورتك حتى يمكن تحميلها إلى مستودعك
docker tag my-redmine: legújabb lcofre / redmine: legújabb
وقم بدفعها بهذا الشكل
dokkoló push lcofre / redmine: legújabb
صورة Docker في سجل Docker
الآن يمكن لأي شخص تجربة صورتك عن طريق القيام بالتالي
dokkoló futtatása -p-3000: 3000 - neve my-redmine lcofre / redmine
هذا كل شيء! هكذا تتحول من تثبيت Redmine القياسي إلى نسخة شخصية جيههلف سوهمكن الو ل Docker. يرجى مشاركة تعليقاتك أو أسئلتك أدناه.
تقليص حجم صورة Docker
ستجد أن ملف Dockerfile في المستودع قام بدمج العديد من الأسطر في سطر واحد. هذه هي توصية Docker لتقليل حجم الصور. يمكنك العثور على هذه النصيحة وغيرها في https://docs.docker.com/develop/develop-images/dockerfile_best-practices/
A és Redmine
Redmine-től: alpesi
Alpine هو توزيع Linux مختلف. بدلاً من استخدام apt لتثبيت الحزم، يجب عليك استخدام apk.
نصيحة أخيرة: الحزم التي قمنا بتثبيتها باستخدام apt لددم٪ريدم٪لي م٪زcker وبة بعد بناء الصورة. يمكنك اتباع أفضل الممارسات باستخدام بناء متعدد المر: https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#use-multi-stage-builds
ممارسة الاحتفاظ بحجم صورة Docker صغير يساعد بشكل خاص عنسداععد تورة ت، ولكنه يقلل أيضًا من سطح الهجوم على صورتك.