Come creare la propria immagine Docker Redmine personalizzata.

6/16/2020
9 minuti
Lukáš Beňa -> Lukáš Beňa
Redmine è uno dei più famosi strumenti per la gestione dei progetti e dei problemi di emergenza. Se l'ați încercat o ați fost non devi installarlo in un mezzo di produzione, probabilmente că știți și că esiste l'immagine ufficiale di Docker che semplifica l'installazione e la scalatura per il medio con il mare.

Redmine înainte de personalizzazione

Nota: la finestra mobile nativa di Redmine può essere inserita nell'indirizzo https://hub.docker.com/_/redmine. A questo punto, l'assemenea, le istruzioni sono buone per essere popolate o raccolte di dati esterni e per montare cartelle esterne (per poter installare plugin-uri).

Se prendi il mio e preferisci vedere direttamente il codice per costruire un'immagine Docker Redmine personalizza, puoi unire la github.com/lcofre/redmine e verifica Dockerfile-ul.

Immagina che Docker Redmine sia un punto di raccolta porno, quindi è probabile che dovresti personalizzare il plug-in e temere di preferire i tuoi dispositivi. In questo gioco, hai costruito l'immagine Docker bazata per l'ufficiale, ad esempio c'era il tema e il plug-in e l'inserimento nella registrazione di Docker.

Per semplificare, ora non utilizzi la base dati esterna, come la base dati interna nel contenitore Redmine inserito. Per un mezzo di produzione, si consiglia di configurare un contenitore di stoccaggio dedicato.


Plugin-uri e temi

Ci sono altri plug-in e temevo di illustrare i modi diversi di aggiungere Redmine:

  • Ascunde bara laterală, un plug-in per consentire più spazio per lo schermo, in modo speciale quando si scrive il problema
  • Risolvi i tuoi appunti, per cercare di catturare i tuoi appunti negli appunti e poi selezionare un file
  • A1 şi Mike, hai ancora paura di cambiare aspetto all'interfaccia utente

Escludere plug-in-urile se necessario o migrare a data base, quindi se non hai una data data preesistente. Ti consigliamo di commentare di più se hai bisogno di installare un plug-in per la migrazione necessaria, quindi avere un'idea buona per i tuoi.


Scrierea Dockerfile-ului

Un Dockerfile è la rețetă despre per costruire l'immagine di Docker. La prima informazione che la tua intervista a noi è che devi sapere che non hai mai immaginato su un'altra immagine, decidiamo di essere stata ufficialmente per Redmine

DA Redmine

La prima linea su Dockerfile-ului è la baza o la nostra immagine più recente e la più bella immagine, 4.1.0 in fase di creazione. Deoarece questo lucru va lua orice versiune este cea mai recente, este posibil să preferați să utilizați o versiune specifică per evitare versiuni noi nașteptate care pot strica construirea acestei imagini

DA Redmine: 4.1.0


Folosind Git per ottenere componenti

Nella maggior parte dei casi, temere e scaricare il plug-in nel deposito Git da un punto di download del codice più recente. Acesta este cazul pentru următoarele trei componenti.

L'immagine di base di Redmine vine fa Git, quindi puoi aggiungere l'immagine sul tuo computer:

ESEGUI per installare -y git

Questo è quello che hai eseguito quando immagina che sia costruito e ti permette di utilizzare Git nelle istruzioni per l'uso.

Tema Gitmike: aceștia recomandă clonarea repo-ului lor direct

ESEGUI clone git https://github.com/makotokw/redmine-theme-gitmike.git pubblico / themes / gitmike

Linia ha salvato il progetto clonat în folderul corespunzător public/themes

Ascunde bara laterală: Aceeași procedure poate fi aplicată și plugin-urilor. Questo non è necessario decât plasarea folderului clonat în folderul plugin-urilor

ESEGUI clone git https://gitlab.com/bdemirkir/sidebar_hide.git plugins / sidebar_hide

Lipirea imaginii din appunti: Acesta pare, de asemenea, a fi procedura tipica, clonarea repo-ului și sunteți gata să mergeți

ESEGUI clone git https://github.com/RubyClickAP/clipboard_image_paste.git plugins / clipboard_image_paste

Dar daca le città possono essere molte di più, veți vedea că "se recomandă instalarea gem-ului RMagick, altfel imaginile atașate nu vor fi afișate în fișierele PDF exportate". Deci, cum facem asta? Ar trebui să fie la fel de ușor ca

RUN gem installa rmagick

Probabilmente stai cercando di costruire una gemma prima di installarla, quindi devi installare un pacchetto prima di installare una gemma. Linia de care aveți nevoie este

ESEGUI installa -y build-essential imagemagick libmagickcore-dev libmagickwand-dev ruby-dev \

       && gem installa rmagick

Tutto in un singolo comando, separato in due linee per la libertà.

L'autore originale del plug-in acestui non offre la versione per Redmine 4, quindi cerca di inserire un numero di plug-in in GitHub ma prova un progetto che ti riguarda: RubyClickAP / clipboard_image_paste.


Aggiungi un plug-in all'interno o all'esterno della scheda

Tema A1 Questo è un esempio di esempio per un'illustrazione cazurile in cui abbiamo sopra, ora e un URL per la descrizione nel tempo del processo di costruzione. L'opzione nell'astfel de cazuri è quella di fornire sopra il processo di costruzione. Astfel, conținutul este adăugat l'image fară a fi descărcat

COPIA a1 pubblico / temi / a1

È necessario che la cartella a1 venga archiviata nel file Dockerfile.

Una volta che ti preghi di costruire un'immagine, decidi di rimuovere un terminale e di scaricarlo sul file Dockerfile ed eseguirlo

finestra mobile build -t my-redmine.

Dopo aver costruito, potrai immaginare la regola con cui

docker run -it -p 3000: 3000 --name my-redmine my-redmine

Accedi a http://localhost:3000 per vedere Redmine-ul personalizat!

Redmine dupa personalizare


Alcuni lavori per aggiungere più plug-in

Per cercare plugin-uri noi, questa è l'idea più utile per utilizzare un contenitore Redmine proaspăt. Așa mi rendo conto che că rmagick necesită instalarea unor pachete. Mai più, regola o elimina istantaneamente Redmine cu

docker run --rm -d -p 3000: 3000 --name test-redmine redmine

și apoi intrați în istanță cu

docker exec -it test-redmine bash

Acolo puteți instala pachetele OS, gem-uri sau rula migrații. Doar amintiți-vă pașii astfel încât să le puteți adăuga il fișierul Dockerfile!


Crea immagini personalizzate in Docker Hub

Imaginea pe care tocmai ați construit-o este disponibile doar în mediul local. Che cosa vuoi sapere sul volto disponibile e alto ora, come tutore? Desiderio, inserire Dockerfile e file aferente in un repository git, che potrebbe interessarti costruire immagini singole. Dar Docker ti permette, asemenea, di incartare l'immagine costruita nel registro. Per farlo, crea un conto su hub.docker.com e crea, di recente, un deposito per immaginare dvs. Poi, conectați-vă în terminal astfel:

login docker

L'etichetta della tua immagine può essere caricata nel tuo deposito.

tag docker my-redmine: latest lcofre / redmine: latest

e incărcați-o asfel

docker push lcofre / redmine: ultimo

Immagina Docker nella registrazione di Docker

Acum oricine poate încerca imaginea dvs. facând

docker run -it -p 3000: 3000 --name my-redmine lcofre / redmine

Atât! Dopo aver installato Redmine standard, la versione personalizzata è accessibile nella registrazione di Docker. Vă ruăm împărtășiți comentariile ou întrebările dvs. mai jos.


Reducerea dimensiunii imaginii Docker

Veți constata ca Dockerfile nel repository a unit multe linii într-una singură. Aceasta este o recomandare Docker pentru a face imagini mai mici. Puoi farlo così bene e in altro modo https://docs.docker.com/develop/develop-images/dockerfile_best-practices/

L'altro consiglio per ridurre le dimensioni finali dell'immagine è l'utilizzo della versione alpina a Redmine

DA Redmine: alpino

Alpine è la distribuzione Linux diversa. Quando si utilizza per installare il pacchetto, è necessario utilizzare l'apk.

Un'ultima cosa: il pacchetto che ho installato in Dockerfile non deve mai essere doppio per immaginare che sia costruito. Puoi avere la più buona pratica di utilizzare la costruzione con più fasi: https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#use-multi-stage-builds

Pratico da menține o picture Docker de dimensiuni mic ajuta in special atunci când se mărește numărul de istanțe, dar reduce și sovrafața de atac a imaginii dvs.

Actualizarea finală Redmine? Ușoara.

Ottieni tutti gli strumenti del computer per pianificare, gestire l'area e controllare perfettamente il progetto all'interno di un singolo software.

Scopri Easy Redmine

Cerca Easy Redmine in 30 mesi di ricerca gratuita

Funzionalità complete, protezione SSL, backup-uri zilnice, in geolocalizarea dvs.