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

Come configurare un semplice server Web Apache in un contenitore Docker

Se sei un amministratore di sistema Linux che fornisce supporto agli sviluppatori, è probabile che tu abbia sentito parlare di Docker . In caso contrario, questa soluzione software ti semplificherà la vita a partire da oggi, aiutandoti a ridurre i costi operativi e ad accelerare le implementazioni, tra gli altri vantaggi.

Ma non è magia. Docker come piattaforma sfrutta i container:pacchetti di un'applicazione insieme a tutti gli strumenti necessari per l'esecuzione per eliminare le differenze tra gli ambienti.

In altre parole, il software containerizzato funzionerà e potrà essere gestito in modo coerente indipendentemente da dove è installato. Inoltre, i container sono molto più facili da configurare, avviare, arrestare e mantenere rispetto alle vecchie macchine virtuali.

Se sei interessato a saperne di più sulle differenze tra queste due tecnologie, il sito Web ufficiale di Docker fornisce un'ottima spiegazione.

Per illustrare, in questo articolo spiegheremo come installare Docker su CentOS/RHEL , Rocky/Alma Linux e Debian/Ubuntu e avvia un Apache 2.4 contenitore da Docker Hub .

Lo useremo quindi per servire una semplice pagina Web dalla nostra home directory, il tutto senza la necessità di installare un server Web sul nostro host.

Installazione di Docker su Linux

Per iniziare, installiamo Docker utilizzando il seguente comando curl. Questo scaricherà ed eseguirà uno script di shell che aggiungerà il repository Docker al nostro sistema e installerà il pacchetto.

# curl -fsSL https://get.docker.com | sh

Quindi, usa il comando systemctl per avviare il Docker principale servizio, consentirne l'avvio durante i riavvii e verificarne lo stato.

# systemctl start docker
# systemctl enable docker
# systemctl status docker

A questo punto, possiamo semplicemente eseguire.

# docker

per visualizzare l'elenco dei comandi disponibili o per ricevere assistenza.

# docker COMMAND --help
# docker ps --help

ci dirà come elencare i contenitori presenti sul nostro sistema, mentre

# docker run --help

stamperà tutte le opzioni che possiamo usare per manipolare un contenitore.

Configurazione di un container Apache

Una delle cose straordinarie di Docker ecosistema è che ci sono decine di contenitori standard che puoi facilmente scaricare e utilizzare.

Nell'esempio seguente, creeremo un'istanza di Apache 2.4 contenitore denominato tecmint-web , staccato dal terminale corrente. Useremo un'immagine chiamata httpd:2.4 da Docker Hub .

Il nostro piano prevede che le richieste vengano inviate al nostro indirizzo IP pubblico sulla porta 8080 essere reindirizzato alla porta 80 sul contenitore. Inoltre, invece di servire il contenuto dal contenitore stesso, serviremo una semplice pagina web da /home/user/website .

Lo facciamo mappando /home/user/website/ su /usr/local/apache2/htdocs/ sul contenitore. Tieni presente che dovrai utilizzare sudo oppure accedi come root per procedere e non omettere le barre alla fine di ogni directory.

# sudo docker run -dit --name tecmint-web -p 8080:80 -v /home/user/website/:/usr/local/apache2/htdocs/ httpd:2.4

A questo punto, il nostro Apache il contenitore dovrebbe essere attivo e funzionante.

$ sudo docker ps

Ora creiamo una semplice pagina web denominata docker.html all'interno del /home/utente/sito web directory.

# vi /home/user/website/docker.html

Aggiungi il seguente contenuto HTML di esempio al file.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Learn Docker at Tecmint.com</title>
</head>
<body>
    <h1>Learn Docker With Us</h1>   
</body>
</html>

Quindi, punta il browser su Server-IP:8080/docker.html (dove IP server è l'indirizzo IP pubblico del tuo host). Ti dovrebbe essere presentata la pagina che abbiamo creato in precedenza.

Se lo desideri, ora puoi fermare il contenitore.

$ sudo docker stop tecmint-web

e rimuoverlo:

$ sudo docker rm tecmint-web

Per completare la pulizia, potresti voler eliminare l'immagine che è stata utilizzata nel contenitore (ometti questo passaggio se hai intenzione di creare altri Apache 2.4 contenitori a breve).

$ sudo docker image remove httpd:2.4

Nota che in tutti i passaggi precedenti non abbiamo mai dovuto installare il server web sul nostro host.

Riepilogo

In questo articolo abbiamo spiegato come installare Docker e manipolare un contenitore. Sfortunatamente, queste sono solo le basi:ci sono interi corsi, libri ed esami di certificazione che coprono Dockers (e contenitori in generale) più approfondito.

Se vuoi saperne di più su Docker , abbiamo già trattato una serie di 3 articoli, che spiega come installare Docker, eseguire applicazioni nei contenitori e creare automaticamente immagini docker con dockerfile.

  • Installa Docker e scopri la manipolazione di base dei contenitori in CentOS e RHEL
  • Come distribuire ed eseguire applicazioni in contenitori Docker su CentOS/RHEL
  • Crea e configura automaticamente immagini Docker con Dockerfile su CentOS/RHEL
  • Come rimuovere immagini, contenitori e volumi Docker

Considera questo come il tuo punto di partenza e facci sapere se hai domande o commenti:non vediamo l'ora di sentirti!


Docker
  1. Come configurare un server web Apache

  2. Come eseguire MySQL in Docker Container:una guida semplice e facile da seguire

  3. Come installare Apache Web Server su Centos 8

  4. Accedi a un server Web Apache all'interno di un container LXD

  5. Come installare il server Web Apache su Ubuntu

Come installare il server Web Apache su Debian 11

Come installare Apache Web Server su Ubuntu 18.04

Come installare Apache Web Server su Ubuntu 20.04

Come ottimizzare il server Web Apache?

Come configurare un container Docker Apache

Come configurare la cache Nginx su un server LAMP