Esegui contenitore Docker come servizio in Ubuntu

Esegui contenitore Docker come servizio in Ubuntu
Mentre discutiamo di distribuire il contenitore Docker come servizio in Ubuntu, è possibile avviare automaticamente, interrompere, controllare lo stato e altrimenti gestire un contenitore come servizio SystemD mettendo un file unità basato sul sistema sul tuo computer host. I motivi per l'esecuzione di Systemd all'interno di una macchina sono:

Molti utenti vorrebbero rimuovere le attuali applicazioni multi-servizio dalle macchine virtuali e eseguirle in contenitori per molti servizi. Vogliono che queste app siano suddivise in microservizi; Tuttavia, alcune persone non possono o non hanno tempo. Ha senso gestirli come servizi eseguiti dai file di unità di sistema.

File di unità di sistema: la maggior parte dei programmi in esecuzione all'interno di contenitori sono realizzati in VM o codice host. Queste app hanno un file unitario preparato per l'applicazione e comprendere l'esecuzione del programma. È meglio che hackerare i tuoi servizi Init per avviare il servizio utilizzando il modo supportato.

Cos'è Docker?

Docker mira ad aiutare gli ingegneri e i team a diventare più produttivi e meno suscettibili agli errori. L'istituzione e l'implementazione di nuovi progetti con Docker sono più facili ed efficienti.

Prendi in considerazione uno scenario in cui è installato il sistema operativo Windows e l'applicazione deve essere distribuita e testata in un sistema operativo separato: Fedora, CentOS e Ubuntu. Che cosa hai intenzione di fare? Vuoi mettere tutto questo sul tuo laptop? È estremamente semplice?

Considera un caso in cui devi utilizzare diverse versioni Python dell'applicazione, diciamo Python 3.2, Python 3.8, ecc., e varie combinazioni di server web come Nginx e Apache. Che cosa hai intenzione di fare? È dove Docker ti salverà.

Docker è una piattaforma di containerizzazione che ti consente di raggruppare il tuo programma ed è un contenitore Docker che garantisce che funzioni senza intoppi in ogni ambiente.

Quindi diciamo che usi Ubuntu 20.02 e Python 3.2 Per distribuire/creare la tua applicazione. È possibile costruire un'immagine Docker per eseguire il codice in un contenitore Docker contenente un file multistrato.
Un'immagine Docker è disponibile per la corretta esecuzione del progetto, con librerie di sistema, strumenti, file e qualsiasi altra dipendenza.

Esegui container Docker come servizio

Supponiamo che il nome della tua applicazione sia 'x.'Per eseguire il contenitore dell'applicazione come servizio utilizzando SystemD, Crea il seguente file di servizio in/etc/systemd/system directory con nomi come
'Docker.Some_name.servizio' :

[Unità]
Descrizione = X contenitore
Dopo = Docker.servizio
Desideri = network-online.Docker target.PRESA
Richiede = Docker.PRESA
[Servizio]
Riavvia = sempre
ExecStart =/usr/bin/docker start -a qualche 00
ExectStop =/usr/bin/docker stop -t 10 qualche_name
[Installare]
WANTEDBY = Multi-utente.bersaglio

L'unità di file genera un nuovo servizio e mappa le istruzioni di docking di avvio e interrompere le sequenze di avvio e arresto del servizio.

Per abilitare il servizio con avvio del sistema, utilizzare:

SystemCtl Abilita Docker.Some_name

Utilizzare i seguenti comandi per fermare e avviare il servizio manualmente in qualsiasi momento:

Sudo Service Docker.Some_name Stop
Sudo Service Docker.Some_name inizi

Conclusione

Abbiamo mostrato un approccio per distribuire container Docker come SystemD Servizi su Ubuntu in questo articolo. È una semplice alternativa ad altri strumenti per l'orchestrazione del contenitore. Possiamo usare Docker in varie attività relative allo sviluppo e ai test della nostra applicazione. Migliora la fase di test della nostra applicazione. Possiamo usarlo per gestire le versioni per l'intero sistema operativo dell'applicazione. Un altro uso di Docker è collaborare con un team per il sistema operativo della tua app. Puoi anche eseguire il codice del laptop nello stesso ambiente del tuo server utilizzando Docker.