Apache, PHP & MySql on Docker on Ubuntu
Sommario:
- Prerequisiti
- Installazione di Docker Compose su Debian 10
- Introduzione a Docker Compose
- Disinstallazione di Docker Compose
- Conclusione
Docker è una piattaforma di containerizzazione che consente di creare, testare e distribuire rapidamente applicazioni come container portatili e autosufficienti che possono essere eseguiti praticamente ovunque.
Docker Compose è uno strumento che consente di definire e orchestrare applicazioni Docker multi-container. Utilizza un file YAML per configurare i contenitori, le reti e i volumi dell'applicazione.
Componi può essere utilizzato per vari scopi. Distribuzioni di applicazioni host singolo, test automatizzati e sviluppo locale sono i casi d'uso più popolari per Docker Compose.
Questo tutorial spiega come installare l'ultima versione di Docker Compose su Debian 10, Buster. Esploreremo anche i concetti e i comandi base di Docker Compose.
Prerequisiti
Prima di procedere, assicurarsi di aver soddisfatto i seguenti prerequisiti:
- Effettuato l'accesso come utente con privilegi sudo. Hai Docker installato sul tuo computer Debian 10.
Installazione di Docker Compose su Debian 10
Il pacchetto di installazione di Docker Compose è disponibile nei repository ufficiali di Debian 10, ma potrebbe non essere sempre la versione più recente. L'approccio consigliato è installare Docker Compose dal repository GitHub di Docker.
Al momento della stesura di questo articolo, l'ultima versione stabile di Docker Compose è la versione
1.23.1
. Prima di scaricare il binario Compose, visitare la pagina di rilascio del repository Compose su GitHub e verificare se è disponibile una nuova versione per il download.
Usare i seguenti passi per installare l'ultima versione di Docker Compose su Debian 10:
-
Scarica Docker Compose binary nella
/usr/local/bin
conwget
ocurl
:sudo curl -L "https://github.com/docker/compose/releases/download/1.23.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
Usa
chmod
per rendere eseguibile binario Compose:sudo chmod +x /usr/local/bin/docker-compose
Per verificare l'installazione, utilizzare il seguente comando che stampa la versione di Compose:
docker-compose --version
L'output sarà simile al seguente:
docker-compose version 1.23.1, build b02f1306
Introduzione a Docker Compose
In questa sezione, mostreremo come impostare un ambiente di sviluppo WordPress locale con Docker Compose.
Crea una directory per il progetto e naviga al suo interno:
mkdir wordpress_app && cd wordpress_app
Apri il tuo editor di testo e crea un file chiamato
docker-compose.yml
:
nano docker-compose.yml
Incolla il seguente contenuto:
finestra mobile-compose.yml
version: '3.7' services: db: image: mysql:8.0 command: --default-authentication-plugin=mysql_native_password restart: always volumes: - db_data:/var/lib/mysql environment: MYSQL_ROOT_PASSWORD: password MYSQL_DATABASE: wordpress wordpress: image: wordpress restart: always volumes: -./wp_data:/var/www/html ports: - "8080:80" environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_NAME: wordpress WORDPRESS_DB_USER: root WORDPRESS_DB_PASSWORD: password depends_on: - db volumes: db_data: wp_data:
Spieghiamo il codice riga per riga
La prima riga specifica la versione del file Compose. Esistono diverse versioni del formato file Compose con supporto per specifiche versioni Docker.
Successivamente, stiamo definendo due servizi,
db
e
wordpress
. Ogni servizio crea un contenitore separato quando viene eseguita Docker Compose.
Il servizio
db
:
- L'immagine è impostata su
mysql:8.0
. Se l'immagine non è presente, Compose la estrarrà dal repository pubblico Docker Hub. La riga che inizia con ilcommand
sovrascrive ilcommand
predefinito.restart: always
criterio indica a Compose di riavviare il contenitore se si arresta. Il contenitore utilizzerà un volume denominatodb_data
perdb_data
persistente il database.db_data
le variabili di ambiente per l'immaginemysql:8.0
.
Il servizio di
wordpress
:
- Utilizza l'immagine
wordpress
Monta la directorywp_data
sull'host su/var/lib/mysql
all'interno del contenitore. Inoltra la porta esposta80
sul contenitore alla porta8080
sulla macchina host. Definisce le variabili di ambiente per l'immaginewordpress
depends_on
l'istruzione definisce la dipendenza tra i due servizi. In questo esempio,db
verrà avviato prima diwordpress
.
Dalla directory del progetto, avviare lo stack di WordPress eseguendo il comando seguente:
docker-compose up
L'output dovrebbe assomigliare a questo:
…] /usr/sbin/mysqld: ready for connections. Version: '8.0.18' socket: '/var/run/mysqld/mysqld.sock' port: 3306 MySQL Community Server - GPL. db_1_99946702ac7e | 2019-12-15T21:37:29.109255Z 0 X Plugin ready for connections. Socket: '/var/run/mysqld/mysqlx.sock' bind-address: '::' port: 33060…
Docker Compose estrae le immagini, avvia i contenitori e crea la directory
wp_data
nella directory del progetto.
Inserisci
http://0.0.0.0:8080/
nel tuo browser e vedrai la schermata di installazione standard di WordPress.
A questo punto, l'applicazione WordPress è attiva e puoi iniziare a lavorarci su.
Per interrompere la composizione, premere
CTRL+C
È inoltre possibile avviare la composizione in modalità distaccata utilizzando l'opzione
-d
:
docker-compose up -d
Per visualizzare i contenitori della finestra mobile in esecuzione utilizzare il comando seguente:
docker-compose ps
Name Command State Ports ------------------------------------------------------------------------------------------------------ wordpress_app_db_1_99946702ac7e docker-entrypoint.sh --def… Up 3306/tcp, 33060/tcp wordpress_app_wordpress_1_a428d8408817 docker-entrypoint.sh apach… Up 0.0.0.0:8080->80/tcp
Per interrompere i servizi quando Compose è in esecuzione in modalità indipendente, utilizzare:
docker-compose stop
docker-compose down
Passando l'
--volumes
si rimuovono anche i volumi di dati:
Disinstallazione di Docker Compose
sudo rm /usr/local/bin/docker-compose
Conclusione
Per installare Docker Compose su Debian 10, è sufficiente scaricare il binario in una directory nel percorso di sistema e renderlo eseguibile.
docker debianCome installare e usare il compositore php su debian 9

Composer è un gestore delle dipendenze per PHP. Questo tutorial fornisce i passi necessari per installare Composer su sistemi Debian 9.
Come installare e usare curl su debian 10 linux

Curl è uno strumento da riga di comando che ti consente di trasferire dati da o verso un server remoto.
Come installare e usare ffmpeg su debian 9

FFmpeg è uno strumento da riga di comando gratuito e open source per la transcodifica di file multimediali. Questo tutorial spiega come installare FFmpeg su Debian 9.