# Come installare Docker Compose su Ubuntu

Docker Compose è particolarmente adatto agli **ambienti di sviluppo e di test**, ma anche a piccole implementazioni di produzione. Ti spieghiamo come orchestrare facilmente le applicazioni Docker Compose su Ubuntu.

## Quali sono i requisiti per installare Docker Compose su Ubuntu?

Per [utilizzare Docker Compose](https://www.ionos.it/digitalguide/server/configurazione/docker-compose-tutorial/), occorre prima assicurarsi che il sistema soddisfi i seguenti requisiti:

- **Docker Engine**: è richiesta l’installazione di Compose, un’estensione di Docker Engine.
- **Sistema operativo**: Ubuntu, utente sudo con permessi root.

Consiglio È possibile utilizzare anche un sistema operativo diverso da Linux. Consulta i nostri articoli su [come installare Docker Compose su Windows](https://www.ionos.it/digitalguide/server/configurazione/docker-compose-su-windows/) e [Docker Compose su macOS](https://www.ionos.it/digitalguide/server/configurazione/docker-compose-su-mac/).

## Come installare Docker Compose su Ubuntu: procedura guidata

La prima cosa da fare per utilizzare Docker Compose su Ubuntu è installare **Docker Engine** sul sistema e assicurarsi che funzioni correttamente. Non appena [Docker](https://www.ionos.it/digitalguide/server/know-how/cose-docker/) è in funzione, puoi scaricare Compose e creare il file YAML per configurare le applicazioni.

### Primo passaggio: scaricare e installare Docker Compose

Scarica l’ultima versione di Docker Compose dal **repository ufficiale di GitHub** inserendo il seguente comando nel terminale:

```shell
$ curl -SL https://github.com/docker/compose/releases/download/v2.17.2/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
```

Ora puoi assegnare **permessi di esecuzione** a Docker Compose:

```shell
$ sudo chmod +x /usr/local/bin/docker-compose
```

Mediante l’opzione `--version` verifichi che l’installazione di Compose sia avvenuta con successo.

```shell
$ docker-compose --version
```

Otterrai il seguente output:

[![Immagine: Versione di Docker Compose](https://www.ionos.it/digitalguide/fileadmin/_processed_/b/1/csm_docker-compose-version-ubuntu_428c28abad.webp "Versione di Docker Compose")](https://www.ionos.it/digitalguide/fileadmin/DigitalGuide/Screenshots_2023/docker-compose-version-ubuntu.png) Se visualizzi il numero di versione, significa che l’installazione di Docker Compose è avvenuta con successo. In caso di problemi nell’installazione, controlla il percorso.

Puoi anche creare un **collegamento simbolico** al percorso */usr/bin*:

```shell
$ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
```

### Secondo passaggio: configurare il file docker-compose.yml

A dimostrazione della progettazione di un file YAML di **Docker Compose**, impieghiamo l’immagine di Nginx dal Docker Hub ufficiale per l’ambiente del contenitore.

Inizia creando una nuova cartella nella tua directory home:

```shell
$ mkdir ~/compose-test
```

Accedi alla directory e crea una nuova sottocartella per la directory principale dell’ambiente **Nginx**.

```shell
$ cd ~/compose-test
$ mkdir app
```

Per creare un file *index.html* puoi avvalerti di un qualsiasi editor di testo, come **nano**.

```shell
$ nano app/index.html
```

Di seguito è riportato il codice HTML relativo a una pagina di esempio:

```html
<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Docker Compose Test</title>
</head>
<body>
    <h1>This is a Docker Compose Test Page for an Nginx container.</h1>
</body>
</html>
```

Salva e chiudi il file HTML. A questo punto crea *docker-compose.yml*.

```shell
$ nano docker-compose.yml
```

Il contenuto del file è suddiviso tra la versione della configurazione e il blocco dei servizi.

```YAML
version: '3.9'
services:
    web:
        image: nginx:alpine
        ports:
            - "8000:80"
        volumes:
- ./app:/usr/share/nginx/html
```

Nel blocco dei servizi, l’unico servizio elencato è “web”. A questo si aggiungono l’immagine Nginx utilizzata e il reindirizzamento della porta. Nel nostro caso, tutte le richieste sulla porta 8000 della macchina host vengono inoltrate al contenitore web sulla porta 80, dove è in esecuzione Nginx. Infine, abbiamo utilizzato un **volume condiviso tra l’host e il contenitore**. In questo modo l’applicazione Nginx può accedere alla cartella locale “app”.

### Terzo passaggio: eseguire Docker Compose

Ci serviamo del seguente comando per creare un **container web** ed eseguire l’ambiente del contenitore in background:

```shell
$ docker-compose up -d
```

Qualora l’immagine specificata nel file YAML non sia disponibile sul sistema locale, verrà scaricata automaticamente.

Per verificare se l’ambiente Nginx è in esecuzione, basta immettere il comando `ps`.

```shell
$ docker-compose ps
```

La pagina di esempio creata in precedenza è ora accessibile su *localhost:8000* con la demo eseguita in locale sul tuo computer. Nel caso di un server remoto, basterà inserire l’indirizzo IP del server al posto di “localhost”.

[![Immagine: Pagina di esempio di Docker Compose](https://www.ionos.it/digitalguide/fileadmin/_processed_/b/8/csm_docker-compose-test-page-ubuntu_f263b18904.webp "Pagina di esempio di Docker Compose")](https://www.ionos.it/digitalguide/fileadmin/DigitalGuide/Screenshots_2023/docker-compose-test-page-ubuntu.png) Pagina di esempio per un container Nginx Usando `stop` puoi arrestare l’applicazione del contenitore.

```shell
$ docker-compose stop
```

Consiglio Consulta il nostro [tutorial su Docker](https://www.ionos.it/digitalguide/server/configurazione/tutorial-di-docker/) e l’elenco dei [comandi Docker](https://www.ionos.it/digitalguide/server/know-how/comandi-docker/), per ulteriori istruzioni e informazioni utili per imparare a usare lo strumento di containerizzazione. Inoltre, in questo articolo ti spieghiamo come [orchestrare Docker con Swarm e Compose](https://www.ionos.it/digitalguide/server/know-how/orchestrazione-di-docker-con-swarm-e-compose/).


This is a markdown version of: [https://www.ionos.it/digitalguide/server/configurazione/docker-compose-su-ubuntu/](https://www.ionos.it/digitalguide/server/configurazione/docker-compose-su-ubuntu/) for AI/LLM consumption.