Как да създадете свой собствен образ на Docker за Redmine.

6/16/2020
9 минути
Лукаш Беня
Redmine е един от най-популярните инструменти за управление на проекти и решаване на проблеми. Ако вече сте пробвали неговия или малък опит в инсталирането на производствена среда, вие, определено, знаете, че съществува официален образец на docker, който значително подобрява инсталацията и мащабирането за високонатоварени среди.

Redmine до настройка

Примитка: Нативният Docker Redmine може да се намери https://hub.docker.com/_/redmine. Тук също можете да намерите добри инструкции за попълване на външни бази данни и монтиране на външни папки (за възможност за инсталиране на плагини).

Ако вие, както и аз, предоставяте предимството на друг код за използване за създаване на собствено изображение Docker Redmine, можете да преминете към github.com/lcofre/redmine и проверете Dockerfile.

Изображението на Docker Redmine - това е добра начална точка, въпреки че вие ​​вероятно искате да го направите с плагини и теми за вашия вкус. В този наръчник създадохме изображение на Docker на базата на официалното, добавяме някои теми и плагини и го изтегляме в регистрацията на Docker.

За изпращане на спрощени ми не искаме да използваме външната база данни, но вътрешната база данни в контейнера Redmine. Въпреки това за производството на околната среда се използва за оптимизиране на съхранението на кремови контейнери.


Плагини и теми

Избрахме няколко плагина и тези, за да илюстрираме различни начини за тяхното добавяне към Redmine:

  • Скриване на страничната лента, плагин, който позволява получаване на повече места на екрана, особено при написани въпроси
  • Поставете клипборда, за добавяне на снимки на екрана, поставяйки от буфера обмен вместо вибора на файла
  • A1 че Гитмайк, две теми за промяна на вида на потребителския интерфейс

Ние включваме плагини, които се нуждаят от база данни за мигриране, след това ви е необходима резервирана база данни. Моля, напишете коментар по-долу, ако ви е необходим плагин, който изисква миграция, след това у нас има добри идеи за вас.


Написване на Dockerfile

Dockerfile - това е рецепта за създаване на изображение на Docker. Първата дума, която виждаме тук, се оказва, че трябва да базираме нашето изображение на друго изображение, което използваме официално изображение за Redmine

ОТ Redmine

Този първи ред Dockerfile базира или изображение на най-новото и най-доброто изображение, 4.1.0 в момента на писане. Ако това забере всякаква версия, която е най-новата, вие можете да дадете предимството на използването на конкретната версия, за да уникнете

Използвайте Git за получаване на компоненти

В някои случаи тези плагини имат репозитории Git, където можем да изтеглим последния код. Това се отнася до следните три компонента.

Базовият образец на Redmine се доставя без Git, но ние можем да добавим него към този образец:

ИЗПЪЛНАЙТЕ apt install -y git

Това ще бъде изпълнено при построителни форми и позволява да използвате Git в следващите инструкции.

Тема Gitmike: те препоръчват да клонират своя репозиторій на сім

Клониране на RUN git https://github.com/makotokw/redmine-theme-gitmike.git обществена / теми / gitmike

Този ред е събран клониран проект в съответната папка public/themes

Приховати бичну панел: Този процес може да се използва до плагинів. За да се нуждаете от това по Публикувайте клонирана папка в папка плагини

Клониране на RUN git https://gitlab.com/bdemirkir/sidebar_hide.git приставки / sidebar_hide

Включване на изображение с обмен на буфера: Това също се дава типичен процес, клонирайте репозитория и вие сте готови до работата

Клониране на RUN git https://github.com/RubyClickAP/clipboard_image_paste.git приставки / clipboard_image_paste

Але ако ви прочетете малко повече, за да видите, че "препоръчва се инсталиране на гем RMagick, друго прикрепено изображение няма да се показва в експортираните PDF файлове". Как това направи? Това трябва да бъде просто така, както

RUN скъпоценен камък инсталирате rmagick

но вие, определено, знаете, че гемът трябва да се построи пред тях, тъй като той може да бъде инсталиран, затова ви трябва да инсталирате някои пакети пред инсталирането на гема. Рядок, който ви наистина е потрибен, това

RUN apt install -y build-съществена imagemagick libmagickcore-dev libmagickwand-dev ruby-dev \

       && gem инсталирате rmagick

Всички в една команда, разделени на две линии за удобно четене.

Оригиналният автор на тази плагина не предоставя версии за Redmine 4, но потърсете името на плагината в GitHub, като ме привлече към проекта, който има: RubyClickAP / clipboard_image_paste.


Добавяне на плагина или теми със зареден източник

Тема A1 е добър пример за грешка, когато у вас е източник, но няма URL за изтегляне под час на процеса на постройка. Един от вариантите в случая - надайте източника на процес на постройка. По този начин съдържанието се добавя към формата без изтегляне на него

КОПИРАНЕ a1 обществено / теми / a1

За да се нуждаете от това, папката a1 трябва да бъде в това място, където се намира Dockerfile.

Сега сте готови да построите своя образ, след което отворете терминала там, който се намира във вашия Dockerfile, и го извикайте

docker build -t my-redmine.

След постройките вие ​​само запишете своя образ за помощта

docker run -it -p 3000: 3000 - име my-redmine my-redmine

Отидете на адрес http://localhost:3000, за да видите своя собствен Redmine!

Redmine след настройка


Някои съвети за добавяне на повече плагини

За да изпробвате нови плагини, винаги по-добре използвайте свежия контейнер Redmine. Така разбирам, че за работа rmagick трябва да инсталирате някои пакети. Първоначално запуснете контейнера Redmine, който може да бъде отделен, с

docker run --rm -d -p 3000: 3000 - име тест-redmine redmine

а след това влезте в примера с

docker exec - това е тест-redmine bash

Там можете да инсталирате пакети ОС, геми или да стартирате миграция. Просто запомняйте кроковете, за да можете да ги добавите към своя Dockerfile!


Изтеглете вашето собствено изображение в Docker Hub

Изображението, което сте създали, е достъпно само за вашата локална среда. Какво, ако искате да го направите достъпен за други, кажем, за всички? Разбира се, вие можете да изтеглите Dockerfile и свързани файлове към git-репозитория, и заинтересованите могат да създават изображение самостоятелно. Але Docker също ви позволява да изтеглите изградено изображение в техния регистър. За да създадете този запис в акаунта на hub.docker.com и да създадете хранилище за своето изображение. След това влезте в терминал по този начин:

вход за докер

Посочете вашето изображение, за да можете да го изтеглите във вашето хранилище

docker tag my-redmine: последен lcofre / redmine: най-нов

и изтеглете го по този начин

docker push lcofre / redmine: най-късно

Изображение на Docker в регистрацията на Docker

Сега ако може да опитате вашето изображение, изпълнители

docker run -it -p 3000: 3000 - име my-redmine lcofre / redmine

Це все! Ето как преминавате от стандартната инсталация Redmine към персонализирана версия, достъпна в регистъра на Docker. Моля, поделите своите коментари или въпроси по-долу.


Промяна на размера на изображението на Docker

Вие намирате, що Dockerfile в репозитории об'единив много редки в един. Тази препоръка е Docker, за да намалите размера на изображението. Можете да намерите този и други съвети https://docs.docker.com/develop/develop-images/dockerfile_best-practices/

Ще има една препоръка за намаляване на увеличения размер на изображението - използвайте алпийската версия на Redmine

ОТ Redmine: алпийски

Alpine - това е друга дистрибуция на Linux. Замъкът apt за инсталиране на пакети трябва да се използва apk.

Последна поредица: пакетите, които инсталирах с помощта на apt в Dockerfile, повече не са необходими след построяване на изображение. Можете да следвате най-добрата практика, използвайки многоетапни сборници: https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#use-multi-stage-builds

Практиката за запазване на неголям размер на изображението Docker се отличава особено с увеличаването на броя екземпляри, а също така намалява повърхностните атаки на вашето изображение.

Оновление Redmine на по-високо ниво? Легко.

Разгледайте всички мощни инструменти за идеално планиране, управление и контрол на проекти в някоя от осигурените програми.

Открийте за себе си Easy Redmine

Изпробвайте Easy Redmine в 30-денна безплатна пробна версия

Пълнофункционален, защитен SSL, ежедневно резервно копиране, във вашите геолокации