GNU/Linux >> Linux Esercitazione >  >> Panels >> Docker

Come installare, eseguire ed eliminare applicazioni all'interno dei contenitori Docker – Parte 2

Seguendo il precedente Docker articolo, questo tutorial discuterà come salvare un container Docker in una nuova immagine, rimuovere un container ed eseguire un Nginx server web all'interno di un container.

Requisiti

  • Come installare Docker ed eseguire container in CentOS/RHEL 8/7 – Parte 1

Come eseguire e salvare un contenitore Docker

1. In questo esempio, eseguiremo e salveremo un file basato su Ubuntu Contenitore Docker in cui Nginx verrà installato il server. Ma prima di eseguire il commit di qualsiasi modifica a un contenitore, avvia prima il contenitore con i comandi seguenti che aggiornano e installa Nginx demone nell'immagine di Ubuntu:

# docker run ubuntu bash -c "apt-get -y update" 
# docker run ubuntu bash -c "apt-get -y install nginx" 

Se ricevi l'errore "E:Impossibile individuare il pacchetto nginx ', quindi devi connetterti a un container con CLI interattiva e installare nginx come mostrato.

# docker run -it ubuntu bash
# apt install nginx
# exit

2. Successivamente, dopo Nginx pacchetto è installato, emettere il comando docker ps -l per ottenere l'ID o nome del contenitore in esecuzione.

# docker ps -l

E applica le modifiche eseguendo il comando seguente:

# docker commit 5976e4ae287c ubuntu-nginx

Qui, 5976e4ae287c rappresenta il contenitore ID e ubuntu-nginx rappresenta il nome della nuova immagine che è stata salvata con modifiche salvate.

Per vedere se la nuova immagine è stata creata correttamente, esegui docker images comando e verrà mostrato un elenco di tutte le immagini salvate.

# docker images

È probabile che il processo di installazione all'interno del contenitore termini rapidamente, il che porta a un contenitore non funzionante (il contenitore viene interrotto). In questo caso il docker ps il comando non mostrerà alcun output perché nessun contenitore è in esecuzione.

Per poter ancora ottenere l'id del contenitore, esegui docker ps -a | head -3 per emettere i contenitori più recenti e identificare il contenitore in base al comando emesso per creare il contenitore e allo stato di uscita.

3. In alternativa, puoi accedere attivamente alle sessioni del contenitore eseguendo docker run -it ubuntu bash comando ed eseguire l'ulteriore apt-get install nginx comando. Mentre il comando è in esecuzione, scollegati dal contenitore usando Ctrl-p + Ctrl-q chiavi e il contenitore continueranno a funzionare anche al termine del processo di installazione di Nginx.

# docker run -it ubuntu bash
# apt-get install nginx

Quindi, ottieni l'ID del contenitore in esecuzione con docker ps e confermare le modifiche. Al termine, riaccedi alla console del contenitore utilizzando docker attach e digita exit per fermare il contenitore.

# docker ps
# docker attach 3378689f2069
# exit

4. Per verificare ulteriormente se l'immagine recente è stata salvata correttamente (in questo caso Nginx è stato installato il servizio), eseguire il comando seguente per generare un nuovo contenitore che verrà generato se il binario Nginx è stato installato correttamente:

# docker run ubuntu-nginx whereis nginx

5. Per rimuovere un contenitore usa rm comando contro un ID o un nome contenitore, che può essere ottenuto usando docker ps -a comando:

# docker ps -a
# sudo docker rm 36488523933a

Come eseguire Nginx all'interno di Docker Container

6. In questa parte ci concentreremo su come eseguire e accedere a un servizio di rete, come un Nginx server web, all'interno di Docker, utilizzando ubuntu-nginx immagine creata in precedenza in cui è stato installato il demone Nginx.

La prima cosa che devi fare è creare un nuovo container, mappare le porte host-container ed entrare nella shell del container eseguendo il comando seguente:

# docker run -it -p 81:80 ubuntu-nginx /bin/bash
# nginx &

Qui, il -p l'opzione espone la porta dell'host alla porta del contenitore. Sebbene la porta dell'host possa essere arbitraria, a condizione che sia disponibile (nessun altro servizio host dovrebbe essere in ascolto su di essa), la porta del contenitore deve essere esattamente la porta su cui è in ascolto il demone interno.

Dopo esserti connesso alla sessione del contenitore, avvia Nginx demone in background e scollegarsi dalla console del contenitore premendo Ctrl-p + Ctrl-q chiavi.

7. Ora esegui docker ps per ottenere lo stato del tuo contenitore in esecuzione. Puoi anche visualizzare i socket di rete host eseguendo il comando seguente:

# docker ps
OR
# netstat -tlpn 

8. Per visitare la pagina servita dal container Nginx, apri un browser da una postazione remota nella tua LAN e digita l'indirizzo IP della tua macchina usando il protocollo HTTP.

9. Per arrestare il contenitore, eseguire il comando seguente seguito dall'ID o dal nome del contenitore:

# docker ps
# docker stop fervent_mccarthy
# docker ps

In alternativa per arrestare il contenitore in esecuzione, immettere il prompt dei comandi della shell del contenitore e digitare exit per terminare il processo:

# docker attach fervent_mccarthy
# exit

Tieni presente che l'utilizzo di questo tipo di contenitore per eseguire server Web o altri tipi di servizi è più adatto solo per scopi di sviluppo o test poiché i servizi sono attivi solo mentre il contenitore è in esecuzione. L'uscita dal contenitore interrompe tutti i servizi in esecuzione o le modifiche apportate.

Ulteriori letture:

Parte 3 :crea e configura automaticamente immagini Docker con Dockerfile su CentOS/RHEL 8/7Parte 4 :Come monitorare i contenitori Docker in Linux
Docker
  1. Come creare, elencare ed eliminare contenitori Docker su Linux

  2. Come installare e configurare Docker Container su Rocky Linux 8

  3. Come elencare i contenitori Docker

  4. Come eseguire il backup e il ripristino dei container Docker

  5. Come mettere in pausa e riprendere i contenitori Docker

Come installare e configurare Docker Container su AlmaLinux 8

Come utilizzare Docker Cp per copiare file tra host e contenitori

Come eseguire PHPMyAdmin in un contenitore Docker

Come eseguire Grafana in un contenitore Docker

Come eseguire i contenitori Docker

Come elencare/avviare/arrestare/eliminare i contenitori docker