Docker Compose egner seg spesielt godt for utviklings- og testmiljøer, men også for mindre produksjonsdistribusjoner. Vi forklarer hvordan du enkelt kan koordinere Docker-applikasjoner på Ubuntu med Compose.

Hva er kravene til Docker Compose på Ubuntu?

Før du kan bruke Docker Compose, må du forsikre deg om at systemet ditt oppfyller følgende forutsetninger:

  • Docker Engine: Compose er en utvidelse til Docker Engine som du må installere.
  • Operativsystem: Ubuntu, sudo-bruker med root-rettigheter.
Tip

Hvis du bruker et annet operativsystem enn Linux, kan du se veiledningen vår om hvordan du installerer Docker Compose på Windows og Docker Compose på macOS.

Trinnvis veiledning for installasjon av Docker Compose på Ubuntu

For å bruke Docker Compose på Ubuntu må du først installere Docker Engine og kontrollere at den fungerer som den skal. Når Docker er i gang, laster du ned Compose og oppretter en YAML-fil for å konfigurere applikasjonene dine.

Trinn 1: Last ned og installer Docker Compose

Last ned den nyeste versjonen av Docker Compose fra det offisielle GitHub-arkivet ved å skrive inn følgende 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-compose
shell

Nå kan du gi Docker Compose kjørings rettigheter:

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

Bruk alternativ --version for å sjekke om Compose ble installert.

$ docker-compose --version
shell

Du får følgende utdata:

Image: Docker Compose Version
If you see the version number, Docker Compose has been successfully installed.

Hvis installasjonen mislykkes, må du sjekke banen.

Du kan også opprette en symbolsk lenke til banen /usr/bin:

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

Trinn 2: Konfigurer filen docker-compose.yml

For å vise hvordan en Docker Compose YAML-fil er utformet, bruker vi Nginx-bildet fra den offisielle Docker Hub-siden til containermiljøet.

Opprett først en ny mappe i hjemmekatalogen din:

$ mkdir ~/compose-test
shell

Gå til katalogen og opprett en ny mappe som skal fungere som rotkatalog for Nginx-miljøet ditt.

$ cd ~/compose-test
$ mkdir app
shell

Du kan bruke en hvilken som helst tekstredigerer, for eksempel nano, til å opprette index.html.

$ nano app/index.html
shell

Her er HTML-koden for en eksempelside:

<!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>
html

Lagre og lukk HTML-filen, og opprett filen docker-compose.yml.

$ nano docker-compose.yml
shell

Innholdet er delt inn i konfigurasjonens versjonsnummer og tjenesteblokken.

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

I tjenesteblokken finnes det én enkelt tjeneste med navnet «web». Den er knyttet til det angitte Nginx-bildet og portviderekoblingen. I vår konfigurasjon blir alle forespørsler til port 8000 på vertsmaskinen viderekoblet til web-containeren på port 80, der Nginx kjører. Videre bruker vi et delt volum mellom verten og containeren. Dette gjør den lokale «app»-mappen tilgjengelig for Nginx-applikasjonen

Trinn 3: Kjør Docker Compose

Med følgende kommando oppretter vi en webbeholder og kjører beholdermiljøet i bakgrunnen:

$ docker-compose up -d
shell

Hvis bildet som er angitt i YAML-filen ikke finnes på det lokale systemet, vil det lastes ned automatisk.

For å sjekke om Nginx-miljøet kjører, skriver du inn kommandoen ps.

$ docker-compose ps
shell

Eksempelsiden du opprettet tidligere, er nå tilgjengelig på localhost:8000 når du kjører demoen på din egen maskin. Hvis du bruker en ekstern server, angir du bare serverens IP-adresse i stedet for «localhost».

Image: Docker Compose sample page
Sample page for an Nginx container

Du kan stoppe containerprogrammet ved å bruke stop.

$ docker-compose stop
shell
Go to Main Menu