[Docker] Programma con dipendenze

Configurazione e uso di IDE, editor, compilatori, in fase di programmazione.
Avatar utente
vaeVictis
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4703
Iscrizione: venerdì 27 luglio 2012, 17:58
Desktop: Gnome
Distribuzione: Ubuntu 20.04 64bit

[Docker] Programma con dipendenze

Messaggio da vaeVictis »

Ciao a tutti.
Ho un programma che ha alcune dipendenze. Ho provato a portarlo al SERT, ma niente, le dipendenze non possono essere rimosse.

Pertanto, siccome devo permettere ad altri programmatori di lavorare sul progetto, stavo pensando di usare Docker.
Mi sto chiedendo, mettiamo che un programma abbia un dipendenza particolare da un pacchetto che al 100% non è installato di default su nessun sistema, posso creare un'immagine di Docker in cui questo pacchetto sia già incluso?
In caso di risposta negativa, ci sono altre strade, con Docker o senza?

Grazie in anticipo :ciao:
Pirates arrrrrrrrrrr awesome!!!
«I fear not the man who has practiced 10000 kicks once,
but I fear the man who has practiced one kick 10000 times.»
Avatar utente
DoctorStrange
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 2850
Iscrizione: mercoledì 14 ottobre 2015, 9:33
Desktop: Gnome3
Distribuzione: Ubuntu 22.04 LTS Jammy Jellyfish
Sesso: Maschile
Località: Roma, Italia

Re: [Docker] Programma con dipendenze

Messaggio da DoctorStrange »

Allora, è abbastanza semplice. Se questo pacchetto, e tutte le dipendenze sono disponibili su repository ufficiale linux, allora l'unica cosa di cui hai bisogno è un dockerfile. Nel docker file tu scriverai dichiarativamente tutte le istruzioni bash da fare per avere tutte le dipendenze installate e configurate, ed anche le relative applicazioni. Avrai quindi un docker file del tipo: FROM Alpine-linux CMD sudo apt install dipendenza, applicazione... e cosi via, in maniera tale che, chiunque avrà il tuo dockerfile, potrà fare il build della medesima immagine docker a partire dall'immagine pubblicamente disponibile sul registry di docker (io ho scelto alpine linux, ma c'è anche busybox, ubuntu, fedora e molte altre. In questo modo se l'immagine di base dalla quale partire è disponibile sul registry di Docker, chiunque abbia il dockerfile potrà avere il tuo medesimo container.

Se invece tu hai un'ìimmagine troppo personalizzata di linux, della tua applicazione e di tutte le dipendenze, allora potrebbe convenirti fare un docker build dell'immagine di tutto l'ambiente di lavoro, ottenendo in questo modo un'immagine pronta all'uso. A questo punto questa immagine, dopo aver dato il docker build si troverà sul tuo registry personale. ti basterà dare accesso al tuo registry a tutti gli interessati e loro potranno scaricare in locale (con docker pull) la tua immagine.

In alternativa puoi scegliere un registry online, come Google Container Registry e pubblicare li la tua immagine e poi assegnerai l'accesso a questo registry a tutti gli interesati.

A questo punto, una volta che la tua applicazione, containerizzata è pronta, se vorrai potrai usare i pod di Kubernetes per trattarla come microservizi.
Avatar utente
vaeVictis
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4703
Iscrizione: venerdì 27 luglio 2012, 17:58
Desktop: Gnome
Distribuzione: Ubuntu 20.04 64bit

Re: [Docker] Programma con dipendenze

Messaggio da vaeVictis »

Chiarissimo, grazie mille.

Edit:
Se ho ben inteso il mio problema, perché la tua spiegazione è molto chiara, dovrei rientrare nel primo caso ma solo per alcune distribuzioni, previa installazione tramite dockerfile di alcune librerie di C++ e un paio di suoi binding per Python.
Credo che procederò in tal senso, almeno inizialmente, per poi seguire la seconda strada e creare un'immagine che abbia già tutto incluso.
Pirates arrrrrrrrrrr awesome!!!
«I fear not the man who has practiced 10000 kicks once,
but I fear the man who has practiced one kick 10000 times.»
Scrivi risposta

Ritorna a “Strumenti per la programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 4 ospiti