كيفية إنشاء صورة Docker مخصصة لـ Redmine الخاص بك
Redmine قبل التخصيص
Bemærk: يمكن العثور على Docker الأصلي لـ Redmine على https://hub.docker.com/_/redmine. هنا يمكنك أيضًا العثور على تعليمات جيدة حول كيفية ملء قاعدة بيانات خي بيانات خي خارجية (لتمكين تثبيت المكونات الإضافية).
إذا كنت مثلي وتفضل أن ترى مباشرةً الشفرة لبناء صورة Redmine Docker مخصصصة ، يمكنكنت github.com/lcofre/redmine والتحقق fra Dockerfile.
صورة Redmine Docker هي نقطة انطلاق جيدة ، على الرغم من أنك ربما ترغب في تخصيخها تخصيخها تخصيخهات فية والسمات التي تفضلها. في هذا الدليل ، سنقوم ببناء صورة Docker استنادًا إلى الصورة الرسمية , وإضافض والات فية ، وتحميلها إلى سجل Docker.
لأسباب بساطة ، لن نستخدم قاعدة بيانات خارجية ولكن قاعدة بياناخة بياناخل د ا. ومع ذلك ، فمن المستحسن إعداد حاوية تخزين مخصصة لبيئة الإنتاج.
المكونات الإضافية والسمات
اخترنا بعض المكونات الإضافية والسمات لتوضيح الطرق المتنوعة لإضافتها إلى Redmine:
- Skjul sidebjælken ، وهو مكون إضافي يسمح بمزيد من مساحة الشاشة ، خاصة عند كتابة المشكلات
- Indsæt fra udklipsholder ، لإرفاق لقطات الشاشة عن طريق لصق من الحافظة بدلاً من تحديد ملف
- A1 و Gitmike ، سمتان لتغيير مظهر واجهة المستخدم
نستبعد المكونات الإضافية التي تتطلب ترحيل قاعدة بيانات , حيث ٪حتاج وي تحتاج وي ة مسبقًا. يرجى التعليق أدناه إذا كنت بحاجة إلى تثبيت مكون إضافي يحتاج يحتاج بحاجة إلى تثبيت مكون إضافي يحتاج يحتاج إلى د كار جيدة لك.
كتابة ملف Dockerfile
ملف Dockerfile هو وصفة لكيفية بناء صورة Docker. أول حقيقة سنتعلمها هنا هي أنه يجب أن نستند صورتنا إلى صورة أخرى سلى صورة أخرى ، د ية لـ Redmine
fra Redmine
سيستند هذا السطر الأول في ملف Dockerfile og صورتنا على أحدث صورة متاحة ، 4.1.0 في . نظرًا لأن هذا سيحصل على أي إصدار هو الأحدث ، قد تفضل استخدام إمدار د ت جديدة غير متوقعة قد تعطل بناء هذه الصورة
af Redmine:4.1.0
استخدام Git للحصول على المكونات
في معظم الحالات، تحتوي السمات والمكونات الإضافية على مستودعات حيث يمكننات حيث يمكننا حيث يمكننات. هذا هو الحال للمكونات الثلاثة التالية.
تأتي صورة Redmine الأساسية بدون Git، ولكن يمكننا إضافتها إلى الصورة بهذه الطريق
KØR apt installation -y git
سيتم تنفيذ هذا عند بناء الصورة وسيسمح لك باستخدام Git في التعليمات التالية.
سمة Gitmike: يوصون بنسخ مستودعهم مباشرة
Kør git klon https://github.com/makotokw/redmine-theme-gitmike.git offentlig / temaer / gitmike
سيقوم السطر بحفظ المشروع المستنسخ في المجلد المناسب offentlige/temaer
Skjul sidebjælken: يمكن تطبيق نفس الإجراء على المكونات الإضافية. هذا المكون لا يتطلب سوى وضع المجلد المستنسخ في مجلد المكونات الإضافية
Kør git klon https://gitlab.com/bdemirkir/sidebar_hide.git plugins / sidebar_hide
Klippebord Billedpasta: يبدو أن هذا هو الإجراء النموذجي أيضًا، قم بنسخ المستودع وستكون على ما يرا
Kør git klon https://github.com/RubyClickAP/clipboard_image_paste.git plugins / clipboard_image_paste
men hvis قرأت المزيد سترى أنه "يُوصى بتثبيت حزمة RMagick gem, وإلا فلن يتم عرض الصور المرفقة في ملفات PDF". فكيف يمكننا القيام بذلك؟ يجب أن يكون الأمر سهلاً مثل
RUN perle installer rmagick
ولكن ربما تعلم أنه يجب بناء الحزمة قبل أن يتم تثبيتها, لذا يجب تثبيتها, لذا يجب علي٨ بب تثبيبي تثبيت الحزمة. السطر الذي تحتاجه حقًا هو
Kør apt install -y build-essential imagemagick libmagickcore-dev libmagickwand-dev ruby-dev \
&& perleinstallere rmagick
كل ذلك في أمر واحد، مفصول على سطرين لسهولة القراءة.
المؤلف الأصلي لهذا المكون الإضافي لا يوفر إصدارًا لـ Redmine 4, og لكن البحث عن اسم المكون بياسم المكون. إلى مشروع يفعل ذلك: RubyClickAP / clipboard_image_paste.
إضافة مكون إضافي أو سمة من مصدر تم تنزيله
Egenskab A1 هي مثال جيد لتوضيح الحالات التي تحتوي فيها على المصدر, og لكن ليس لديك عنوان URL ي بناء. إحدى الخيارات في مثل هذه الحالات هو توفير المصدر لعملية البناء. بهذه الطريقة يتم إضافة المحتوى إلى الصورة دون تنزيله
KOPI a1 offentlig / temaer / a1
يتطلب ذلك وجود مجلد a1 في نفس المكان الذي يوجد فيه ملف Dockerfile.
الآن أنت جاهز لبناء صورتك، لذا افتح الطرفية حيث يوجد ملف Dockerfile الخاص بكبي وقي
docker build -t min-redmine.
بمجرد الانتهاء من البناء، يمكنك تشغيل الصورة الخاصة بك باستخدام
docker run -it -p 3000: 3000 - navn min-redmine min-redmine
انتقل إلى http://localhost:3000 لرؤية Redmine المخصص الخاص بك!
Redmine بعد التخصيص
بعض النصائح لإضافة المزيد من المكونات الإضافية
لتجربة المكونات الإضافية الجديدة، من الأفضل دائمًا استخدام حاوية Redmine جديدة. هذا هو كيف أدركت أن rmagick يتطلب تثبيت بعض الحزم. أولاً، قم بتشغيل نسخة قابلة للتجاهل من Redmine باستخدام
docker run --rm -d -p 3000: 3000 - navn test-redmine redmine
ثم ادخل إلى النسخة باستخدام
docker udfører -det test-redmine bash
هنا يمكنك تثبيت حزم النظام الأساسية، وحزم الجواهر، og تشغيل الترحيلات. فقط تذكر الخطوات حتى تتمكن من إضافتها إلى Dockerfile الخاص بك!
تحميل صورتك المخصصة إلى Docker Hub
الصورة التي قمت ببنائها متاحة فقط في بيئتك المحلية. ماذا لو كنت ترغب في جعلها متاحة للآخرين، فلنقل الجميع؟ بالطبع، يمكنك تحميل ملف Dockerfile og الملفات ذات الصلة إلى مستودع git, ويمكن لملمهبالة م. ولكن Docker يسمح لك أيضًا بتحميل الصورة المبنية إلى سجلهم. لذلك، قم بإنشاء حساب في hub.docker.com وأنشئ أيضًا مستودعًا لصورتك. ثم قم بتسجيل الدخول في الطرفية بهذا الشكل
docker-login
قم بوضع علامة على صورتك حتى يمكن تحميلها إلى مستودعك
docker tag my-redmine: seneste lcofre / redmine: seneste
وقم بدفعها بهذا الشكل
docker push lcofre / redmine: seneste
صورة Docker في سجل Docker
الآن يمكن لأي شخص تجربة صورتك عن طريق القيام بالتالي
docker run -it -p 3000: 3000 - navn my-redmine lcofre / redmine
هذا كل شيء! هكذا تتحول من تثبيت Redmine القياسي إلى نسخة شخصية يمكن الوصول إليها في سجل Docker. يرجى مشاركة تعليقاتك أو أسئلتك أدناه.
تقليص حجم صورة Docker
ستجد أن ملف Dockerfile في المستودع قام بدمج العديد من الأسطر في سطر واحد. هذه هي توصية Docker لتقليل حجم الصور. يمكنك العثور على هذه النصيحة وغيرها في https://docs.docker.com/develop/develop-images/dockerfile_best-practices/
توصية أخرى لتقليل الحجم النهائي للصورة هي استخدام الإصدار الخفيف من Redmine
FRA Redmine: alpin
Alpine هو توزيع Linux مختلف. بدلاً من استخدام apt لتثبيت الحزم، يجب عليك استخدام apk.
نصيحة أخيرة: الحزم التي قمنا بتثبيتها باستخدام apt في ملف Dockerfile لم تعد مةلوب المتعد مةلوب يمكنك اتباع أفضل الممارسات باستخدام بناء متعدد المراحل: https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#use-multi-stage-builds
مارسة الاحتفاظ بحجم صورة Docker صغير يساعد بشكل خاص عند توسيع عدد الحالال أند توسيع عدد الحالا سطح الهجوم على صورتك.
الترقية النهائية لـ Redmine؟ سهلة.
احصل على جميع الأدوات القوية لتخطيط المشروع المثالي وإدارته والسيطرة علميه فارة علميه ف