Jak vytvořit vlastní Docker obraz Redmine.
Redmine před úpravou
Poznámka: Redmine nativní docker můžete najít na https://hub.docker.com/_/redmine. Χρησιμοποιήστε τα εξωτερικά δεδομένα, καθώς και τα εξωτερικά δεδομένα για την εγκατάσταση (pro pluginů για εγκατάσταση).
Pokud jste jako já a raději vidíte kód pro vytvoření vlastního Redmine Docker obrázku, můžete jít na github.com/lcofre/redmine ένα zkontrolovat Dockerfile.
Obrázek Redmine Docker je dobrým výchozím bodem, και 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 oficiálním obrázku, přidáme některá témata a pluginy a nahrajeme ho do docker recordregistru.
Zjednodušeně řečeno, nebudeme používat externí databázi, ale interní databázi v samotném kontejneru Redmine. Pro produkční prostředí je však vhodné nastavit dedikovaný úložný kontejner.
Pluginy a themata
Vybrali jsme několik pluginů a témat, abychom ilustrovali různé způsoby, jak je přidat do Redmine:
- Skrýt postranní panel, πρόσθετο 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 plugin, které vyžadují migraci databáze, protože potřebujete předem existující databázi. Pokud potřebujete nainstalovat plugin, který potřebuje migrace, prosím, commentujte níže, protože máme pro vás dobré nápady.
Psaní Dockerfile
Το Dockerfile je recept na to, 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 oficiální obrázek pro Redmine.
ΑΠΟ 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íku.
ΑΠΟ Redmine: 4.1.0
Použití Gitu pro získání komponent
Πραγματοποιήστε την προσθήκη μιας προσθήκης για την ανανέωση, 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
RUN apt install -y git
Toto bude provedeno při sestavování obrazu a umožní vám používat Git v následujících instrukcích.
Téma Gitmike: doporučují klonovat jejich repozitář přímo
Εκτελέστε τον κλώνο git https://github.com/makotokw/redmine-theme-gitmike.git δημόσια / θέματα / gitmike
Tento řádek uloží klonovaný project do příslušné složky δημόσια/θέματα
Skrytí postranního panelu: Stejný postup lze použít i pro pluginy. Tento vyžaduje pouze umístění klonované složky do složky pluginů
Εκτελέστε τον κλώνο git https://gitlab.com/bdemirkir/sidebar_hide.git plugins / sidebar_hide
Vložení obrázku z clipboardu: Toto také vypadá jako typický postup, naklonujte repozitář a můžete začít
Εκτελέστε τον κλώνο git https://github.com/RubyClickAP/clipboard_image_paste.git plugins / clipboard_image_paste
Ale pokud si přečtete αντί, uvidíte, ž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
RUN gem εγκατάσταση rmagick
ale pravděpodobně víte, že gem musí být sestaven před installací, takže musíte nainstalovat některé balíčky před installací gemu. Řádek, který skutečně potřebujete, je
RUN apt install -y build-sential imagemagick libmagickcore-dev libmagickwand-dev ruby-dev \
&& gem εγκατάσταση rmagick
Vše v jednom příkazu, rozděleno na dvě řádky pro čitelnost.
Πραγματοποιήστε την έκδοση του autor tohoto pluginu neposkytuje verzi pro Redmine 4, ale hledání názvu pluginu στο GitHubu για να δημιουργήσετε ένα σχέδιο, και να κάνετε: RubyClickAP / clipboard_image_paste.
Přidání pluginu nebo tématu z staženého zdroje
Θέμα Α1 je dobrým příkladem pro ilustraci případů, kdy máte zdroj, ale nemáte URL k jeho stažení během processu sestavování. Jedna možnost v takových případech je poskytnout zdroj processu sestavování. Tím se obsah přidá do obrazu bez jeho stahování
COPY a1 δημόσιο / θέματα / a1
To 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 terminál tam, kde je váš Dockerfile, a spusťte
docker build -t my-redmine.
Jednou sestavený budete moci spustit svůj obraz s
docker run -it -p 3000: 3000 --όνομα my-redmine my-redmine
Αποκτήστε ένα otevřete http://localhost:3000, abyste viděli svůj vlastní Redmine!
Redmine po úpravách
Συμβουλή, jak přidat více pluginů
Aby bylo 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 installaci. Nejprve spusťte odstraňovatelnou instanci Redmine s
docker run --rm -d -p 3000: 3000 --name test-redmine redmine
a poté vstupte do instance s
docker exec -it test -redmine bash
Tam můžete installovat OS balíčky, gemy nebo spouštět migrace. Jen si pamatujte 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 repozitář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
σύνδεση στο docker
Označte svůj obrázek, aby mohl být nahrán do vašeho repozitáře
docker tag my-redmine: τελευταία lcofre / redmine: τελευταία
a nahrajte ho takto
docker push lcofre / redmine: τελευταία
Obrázek Docker κατά της εγγραφής Docker
Nyní si může kdokoli vyzkoušet váš obrázek tak, že provede
docker run -it -p 3000: 3000 --όνομα my-redmine lcofre / redmine
To je vše! Μπορείτε να εγκαταστήσετε το Redmine και να προσωποποιήσετε την έκδοση του Docker. Prosím, sdílejte své commentáře nebo otázky níže.
Zmenšení velikosti Docker obrázku
Zjistíte, že Dockerfile v repozitáři 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
ΑΠΟ Redmine: αλπικό
Alpine je jiná linuxová διανομή. Místo použití apt k installaci balíčků musíte použít apk.
Jedna poslední rada: balíčky, které jsme nainstalovali 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.
Nejlepší αναβάθμιση Redmine; Snadný.
Získejte všechny mocné nástroje pro dokonalé plánování, řízení a controlu projectů v jednom softwaru.