Як створити свій власний образ Docker для Redmine.

6/16/2020
9 perc
Лукаш Беньа
Redmine є одним з найпопулярніших інструментів для управління проектами та відстеження проблем. Якщо ви вже пробували його або мали досвід установки виробничого середовища, ви, напевно, знаієцй, осфуєйц браз docker, який значно спрощує установку та масштабування для високонавантажених середовищ.

Redmine до налаштування

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

Ящ ви, я і я, вєаєте переваг безосередньом перегл коу д длр d жра зражня жра жражня Docker в в в з з з з з з з з з зра жра жра жражня docker redmine redmine redmine redmine redmine redmine redmine redmine redmine вirat ти на github.com/lcofre/redmine та перевірити Dockerfile.

Зображення Docker Redmine - це хороша стартова точка, хоча ви, ймовірно, захочете налаштумми за йоги з плата смаком. У цьому посібнику ми створимо зображення Docker на основі офіційного, додамо деякі теми та ниоретай таниорентайі єстру Docker.

З метою спрощення ми не будемо використовувати зовнішню базу даних, але внутрішню базу данихевевин данихе. Однак для середовища виробництва рекомендується налаштувати окремий контейнер зберігання.


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

Ми вибрали кілька плагінів та та тем, щоб проілюструвати різні способи їх додавання до Redmine:

  • Az oldalsáv elrejtése, плагін, що дозволяє отримати більше місця на екрані, особливо при написанні питань
  • Beillesztés a vágólapra, для додавання знімків екрану, вставляючи з буфера обміну замість вибору файлу
  • A1 hogy Gitmike, дві теми для зміни вигляду користувацького інтерфейсу

Ми виключаємо плагіни, які потребують міграції бази даних, оскільки вам потрібна передбаххчуредбах. Будь ласка, залиште коментар нижче, якщо вам потрібно встановити плагін, який потребуї, міграцокребує міграцо встановити плагін ші ідеї для вас.


Написання Dockerfile

Dockerfile - це рецепт, як створити зображення Docker. A ні, тому ми використовуємо офіційне зображення для Redmine

Redmine-től

Цей перший рядок Dockerfile базує або зображення на найновішому та найкращому зображенні, 4.1.0 на моп.иентна на моп. Оскільки це забере будь-яку версію, яка є найновішою, ви можете віддати перевагу, нобервагу використанню никн

Використання Git для отримання компонентів

У більшості випадків теми та плагіни мають репозиторії Git, де ми можемо завантажити остандній. Це стосується наступних трьох компонентів.

Базовий образ Redmine поставляється без Git, але ми можемо додати його до образу таким чином:

RUN apt install -y GIT

Це буде виконано при побудові образу і дозволить вам використовувати Git у наступних інструкціях.

Téma 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

Вставка зображення з буферу обміну: Це також здається типовим процесом, клонуйте репозиторій і ви готові до роботи

RUN git klón https://github.com/RubyClickAP/clipboard_image_paste.git plugins / clipboard_image_paste

Але якщо ви прочитаєте трохи більше, то побачите, що "рекомендується встановити гем RMagick, інакше прикріплені зображення не будутниба не будутния віподесрається 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

Все в одній команді, розділені на дві лінії для зручності читання.

Оригінальний автор цього плагіна не надає версії для Redmine 4, але пошук назви плагіна в GitHub привів дмо, привів дмо, привів RubyClickAP / clipboard_image_paste.


Додавання плагіна або теми з завантаженого джерела

Téma A1 є хорошим прикладом для ілюстрації випадків, коли у вас є джерело, але немає URL удови. Один з варіантів у таких випадках - надати джерело процесу побудови. Таким чином, вміст додається до образу без завантаження його

MÁSOLÁS a1 nyilvános / témák / a1

Для цього потрібно, щоб папка a1 була в тому ж місці, де знаходиться Dockerfile.

Тепер ви готові побудувати свій образ, тому відкрийте термінал там, де знаходиться ваш Dockerfile, і викона

dokkoló építés - my-redmine.

Після побудови ви зможете запустити свій образ за допомогою

dokkoló futtatása -p-3000: 3000 - neve my-redmine my-redmine

Перейдіть за адресою http://localhost:3000, щоб побачити свій власний Redmine!

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

Ви знайдете, що Dockerfile в репозиторії об'єднав багато рядків в один. Це рекомендація Docker, щоб зменшити розмір зображень. Ви можете знайти цей та інші поради на https://docs.docker.com/develop/develop-images/dockerfile_best-practices/

Ще одна рекомендація для зменшення кінцевого розміру зображення - використовувати альпійську версія

Redmine-től: alpesi

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, щоденне резервне копіювання, у вашій геолокації