Hur man installerar Docker Compose på Ubuntu
Docker Compose är särskilt väl lämpat för utvecklings- och testmiljöer, men även för mindre produktionsmiljöer. Vi förklarar hur du enkelt kan samordna Docker-applikationer på Ubuntu med Compose.
Vilka är kraven för Docker Compose på Ubuntu?
Innan du kan använda Docker Compose måste du se till att ditt system uppfyller följande krav:
- Docker Engine: Compose är ett tillägg till Docker Engine som du måste installera.
- Operativsystem: Ubuntu, sudo-användare med root-behörighet.
Om du vill använda ett annat operativsystem än Linux, se vår guide om hur du installerar Docker Compose på Windows och Docker Compose på macOS.
Steg-för-steg-guide för installation av Docker Compose på Ubuntu
För att kunna använda Docker Compose på Ubuntu måste du först installera Docker Engine och kontrollera att det fungerar som det ska. När Docker är igång laddar du ner Compose och skapar YAML-filen för att konfigurera dina applikationer.
Steg 1: Ladda ner och installera Docker Compose
Ladda ner den senaste versionen av Docker Compose från det officiella GitHub-arkivet genom att ange följande kommando i en terminal:
$ curl -SL https://github.com/docker/compose/releases/download/v2.17.2/docker-compose-linux-x86_64 -o /usr/local/bin/docker-composeshellNu kan du ge Docker Compose exekveringsrättigheter:
$ sudo chmod +x /usr/local/bin/docker-composeshellAnvänd alternativ --version för att kontrollera om Compose har installerats korrekt.
$ docker-compose --versionshellDu får följande resultat:

Om installationen misslyckas, kontrollera sökvägen.
Du kan också skapa en symbolisk länk till sökvägen /usr/bin:
$ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-composeshellSteg 2: Konfigurera filen docker-compose.yml
För att visa utformningen av en Docker Compose YAML-fil använder vi Nginx-bilden från den officiella Docker Hub för container-miljön.
Skapa först en ny mapp i din hemkatalog:
$ mkdir ~/compose-testshellByt till katalogen och skapa en ny mapp för rotkatalogen i din Nginx-miljö.
$ cd ~/compose-test
$ mkdir appshellDu kan använda valfri textredigerare, till exempel nano, för att skapa index.html.
$ nano app/index.htmlshellHär är HTML-koden för en exempelsida:
<!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>htmlSpara och stäng HTML-filen och skapa docker-compose.yml.
$ nano docker-compose.ymlshellInnehållet är uppdelat i versionsnumret för konfigurationen och tjänsteblocket.
version: '3.9'
services:
web:
image: nginx:alpine
ports:
- "8000:80"
volumes:
- ./app:/usr/share/nginx/htmlYAMLInom tjänsteblocket finns en enda tjänst som heter “web”. Den är associerad med den angivna Nginx-bilden och portomdirigering. I vår konfiguration omdirigeras alla förfrågningar som görs till port 8000 på värdmaskinen till webbcontainern på port 80, där Nginx körs. Dessutom använder vi en delad volym mellan värden och containern. Detta gör den lokala mappen “app” tillgänglig för Nginx-applikationen.
Steg 3: Kör Docker Compose
Med följande kommando skapar vi en webbcontainer och kör containermiljön i bakgrunden:
$ docker-compose up -dshellOm bilden som anges i YAML-filen inte finns på det lokala systemet kommer den att laddas ner automatiskt.
För att testa om Nginx-miljön körs, ange kommandot ps.
$ docker-compose psshellDen exempel-sida du skapade tidigare är nu tillgänglig på localhost:8000 när du kör demon på din dator. Om du använder en fjärrserver anger du bara IP-adressen till din server istället för “localhost”.

Du kan stoppa containerapplikationen med stop.
$ docker-compose stopshell