Jak vytvořit vlastní Docker obraz Redmine.
Redmine před úpravou
Zauważyć: Redmine nativní docker můžete najít na https://hub.docker.com/_/redmine. Zde také najdete dobré instrukce, jak naplnit externí databázi a připojit externí složky (pro instalaci pluginů).
Pokud jste jako já a raději vidíte kod pro vytvoření vlastního Redmine Docker obrázku, můžete jít na https://github.com/lcofre/redmine zkontrolovat Dockerfile.
Obrázek Redmine Docker je dobrým výchozím bodem, i když pravděpodobně byste ho chtěli přizpůsobit pluginy a tématy podle svého gusta. V tomto návodu vytvoříme Docker obrázek založený na officiálním obrázku, přidáme některá témata i pluginy a nahrajeme ho do docker registru.
Zjednodušeně řečeno, nebudeme používat externí databázi, ale interní databázi w samotném kontejneru Redmine. Pro produkční prostředí je však vhodné nastavit dedikovaný úložný kontejner.
Pluginy z tematem
Vybrali jsme několik pluginů a témat, abychom ilustrovali různé způsoby, jak je přidat do Redmine:
- Panel Skrýt postranní, wtyczka umožňující více prostoru na obrazovce, zejména při psaní problémů
- Vložit ze schránky, připojit snímky obrazovky vkládáním ze schránky místo výběru souboru
- A1 a Gitmike, dvě témata pro změnu vzhledu uživatelského rozhraní
Vylučujeme pluginy, které vyžadují migraci databáze, protože potřebujete předem presentující databázi. Pokud potřebujete nainstalovat plugin, který potřebuje migrace, prosím, komentujte níže, protože máme pro vás dobré nápady.
Psani Dockerfile
Dockerfile jest odbierany, jak vytvořit Docker obrázek. První věc, kterou se zde naučíme, je, že musíme založit náš obrázek na nějakém jiném obrázku, takže použijeme officiální obrázek pro Redmine.
Z Redmine
Tento první řádek Dockerfile bude založen nebo obrázek na nejnovějším a nejlepším obrázku, 4.1.0 v době psaní. Protože to zachytí jakoukoli verzi, která je nejnovější, můžete upřednostnit použití konkrétní verze, aby se zabránilo neočekávaným novým verzím, které mohou rozbít sestavení tohoto obrázku.
Z Redmine: 4.1.0
Použití Gitu pro získání komponent
Většina témat a pluginů má gitové repozytáře, odkud můžeme stáhnout nejnovější kód. To platí pro následující tři komponenty.
Základní Redmine obraz neobsahuje Git, ale můžeme ho přidat do obrazu následujícím způsobem
Uruchom RUN apt install -y git
Toto budeprovedeno při sestavování obrazu a umožní vám používat Git v následujících instrukcích.
Motyw Gitmike: doporučují klonovat jejich repozitář přímo
URUCHOM klon git https://github.com/makotokw/redmine-theme-gitmike.git public / themes / gitmike
Tento řádek uloží klonovaný projekt do příslušné složky public/themes
Skrytí postranního panelu: Stejný postup lze použít pro pluginy. Tento vyžaduje pouze umístění klonované složky do složky pluginů
URUCHOM klon git https://gitlab.com/bdemirkir/sidebar_hide.git plugins / sidebar_hide
Vložení obrázku ze schowka: Toto také vypadá jako typický postup, naklonujte repozitář a můžete začít
URUCHOM klon git https://github.com/RubyClickAP/clipboard_image_paste.git plugins / clipboard_image_paste
Ale pokud si přečtete více, uvidite, že "se doporučuje nainstalovat gem RMagick, jinak se připojené obrázky nezobrazí v exportovaných souborech PDF". Jak to tedy uděláme? Mělo by to být tak snadné jako
URUCHOM gem zainstaluj rmagick
ale pravděpodobně víte, že gem musí být sestaven před instalací, takže musíte nainstalovat některé balíčky před instalací gemu. Řádek, který skutečně potřebujete, je
URUCHOM apt install -y build-essential imagemagick libmagickcore-dev libmagickwand-dev ruby-dev \
&& gem zainstaluj rmagick
Vše v jednom příkazu, rozděleno na dvě řádky pro čitelnost.
Autor tego pluginu neposkytuje verzi dla Redmine 4, ale hledání názvu pluginu na GitHubu mě přivedlo na projekt, který ano: RubyClickAP / clipboard_image_paste.
Přidání pluginu nebo tématu ze staženého zdroje
Temat A1 je dobrým příkladem pro ilustraci případů, kdy máte zdroj, ale nemáte URL k jeho stažení během proces sestavování. Jedna možnost v takových případech je poskytnout zdroj proces sestavování. Tím se obsah přidá do obrazu bez jeho stahování
KOPIUJ a1 public / themes / a1
Aby vyžaduje, aby složka a1 byla na stejném místě jako Dockerfile.
Nyní jste připraveni sestavit svůj obraz, takže otevřete terminalál tam, kde je váš Dockerfile, a spusťte
docker buduje -t my-redmine.
Jednou sestavený budete moci spustit svůj obraz s
docker run -it -p 3000: 3000 --name my-redmine my-redmine
Jděte a otevřete http://localhost:3000, abyste viděli svůj vlastní Redmine!
Redmine po úpravách
Několik tipů, jak přidat více pluginů
Aby było možné vyzkoušet nové pluginy, je vždy lepší použít nový kontejner Redmine. Tak jsem zjistil, že rmagick vyžaduje některé balíčky k instalaci. Nejprve spusťte odstraňovatelnou instanci Redmine s
docker run --rm -d -p 3000: 3000 - nazwa test-redmine redmine
a poté vstupte do instancji s
docker exec - it test-redmine bash
Tam můžete instalovat OS balíčky, gemy nebo spouštět migrace. Jen si patujte kroky, abyste je mohli přidat do svého Dockerfile!
Nahrání vašeho vlastního obrázku do Docker Hubu
Obrázek, který jste právě vytvořili, je dostupný pouze v místním prostředí. Co když ho chcete udělat dostupným pro ostatní, řekněme pro všechny? Samozřejmě můžete nahrát Dockerfile a související soubory do git repozytáře a zájemci si mohou sami sestavit obrázek. Ale Docker vám také umožňuje nahrát sestavený obrázek do jejich registru. Pro to vytvořte účet na hub.docker.com a také vytvořte repozitář pro svůj obrázek. Poté se přihlaste v terminálu takto
login dokera
Označte svůj obrázek, aby mohl být nahrán do vašeho repozitáře
tag dokera my-redmine: najnowsze lcofre / redmine: najnowsze
nahrajte ho takto
docker push lcofre / redmine: najnowszy
Obrázek Docker w rejestrze Docker
Nyní si může kdokoli vyzkoušet váš obrázek tak, žeprovede
docker run -it -p 3000: 3000 - nazwa my-redmine lcofre / redmine
To je vše! Tak to se dostanete z běžné instalace Redmine na personalizowanej verzi přístupnou w rejestrze Docker. Prosím, sdílejte své komentáře nebo otázky níže.
Zmenšení velikosti Docker obrázku
Zjistite, že Dockerfile w repozytoriach spojil mnoho řádků do jednoho. Toto je doporučení od Dockeru, jak vytvářet menší obrázky. Toto a další rady najdete na https://docs.docker.com/develop/develop-images/dockerfile_best-practices/
Dalším doporučením, jak snížit konečnou velikost obrázku, je použití alpine verze Redmine
FROM Redmine: alpejski
Dystrybucja Alpine je jiná linuxová. Místo použití apt k instalaci balíčků musíte použít apk.
Jedna z rad: balíčky, které jsme nainstallovali pomocí apt v Dockerfile, již po sestavení obrázku nejsou potřeba. Můžete dodržovat nejlepší postup použitím vícestupňových sestavení: https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#use-multi-stage-builds
Praxe udržování malého Docker obrázku pomáhá zejména při škálování počtu instancí, ale také snižuje útokovou plochu vašeho obrázku.
Nowa aktualizacja Redmine? Snadny.
Získejte všechny mocné nástroje pro wykonalé plánování, řízení a kontrolu projektů v jednom softwaru.