# Kuinka asentaa Docker Compose Ubuntuun

Docker Compose sopii erityisen hyvin **kehitys- ja testausympäristöihin**, mutta myös pienempiin tuotantokäyttöönottoihin. Kerromme, kuinka voit helposti hallita Docker-sovelluksia Ubuntussa Compose-työkalun avulla.

## Mitkä ovat Docker Compose -sovelluksen vaatimukset Ubuntu-käyttöjärjestelmässä?

Ennen kuin voit [käyttää Docker Composea](https://www.ionos.com/fi-fi/digitalguide/palvelin/asetukset/docker-compose-opas/), sinun on varmistettava, että järjestelmäsi täyttää seuraavat edellytykset:

- **Docker Engine**: Compose on Docker Engineen tarkoitettu laajennus, joka on asennettava.
- **Käyttöjärjestelmä**: Ubuntu, sudo-käyttäjä, jolla on pääkäyttäjän oikeudet.

Vinkki Jos käytät muuta käyttöjärjestelmää kuin Linuxia, katso ohjeemme [Docker Composen](https://www.ionos.com/fi-fi/digitalguide/palvelin/asetukset/asenna-docker-compose-windows-tietokoneelle/) asentamisesta [Windowsiin](https://www.ionos.com/fi-fi/digitalguide/palvelin/asetukset/asenna-docker-compose-windows-tietokoneelle/) ja [Docker Composen asentamisesta macOS:iin](https://www.ionos.com/fi-fi/digitalguide/palvelin/asetukset/docker-compose-macissa/).

## Vaiheittainen opas Docker Composen asentamiseen Ubuntuun

Jotta voit käyttää Docker Composea Ubuntussa, sinun on ensin asennettava **Docker Engine** ja varmistettava, että se toimii oikein. Kun Docker on käynnissä, lataa Compose ja luo YAML-tiedosto sovellusten määrittämistä varten.

### Vaihe 1: Lataa ja asenna Docker Compose

Lataa Docker Composen uusin versio virallisesta **GitHub-arkistosta** kirjoittamalla seuraava komento terminaaliin:

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

Nyt voit myöntää Docker Compose -sovellukselle **suoritusoikeudet**:

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

Tarkista vaihtoehdolla `--version`, onko Compose asennettu onnistuneesti.

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

Saat seuraavan tuloksen:

[![Kuva: Docker Compose Version](https://www.ionos.com/fi-fi/digitalguide/fileadmin/_processed_/b/1/csm_docker-compose-version-ubuntu_428c28abad.webp "Docker Compose Version")](https://www.ionos.com/fi-fi/digitalguide/fileadmin/DigitalGuide/Screenshots_2023/docker-compose-version-ubuntu.png) If you see the version number, Docker Compose has been successfully installed. Jos asennus epäonnistuu, tarkista polku.

Voit myös luoda **symbolisen linkin** polkuun */usr/bin*:

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

### Vaihe 2: Määritä docker-compose.yml-tiedosto

Esimerkkinä **Docker Compose -YAML-tiedoston** rakenteesta käytämme konttiympäristössä viralliselta Docker Hubilta ladattua Nginx-kuvaa.

Luo ensin uusi kansio kotihakemistoosi:

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

Siirry kyseiseen hakemistoon ja luo uusi kansio **Nginx-ympäristösi** juurihakemistoon.

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

Voit luoda *index.html-tiedoston* millä tahansa tekstieditorilla, kuten **nanolla**.

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

Tässä on esimerkkisivun HTML-koodi:

```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>
<div class="hash d-none" hidden>hash_7b381e44bd25beb24ffb34bfc3369a929311c7a8</div><script data-shy-copy-guard>(function(){var C=[0x00AD,0x200B,0x200C,0x200D,0x2060,0xFEFF];var s=function(t){for(var i=0;i<C.length;i++){t=t.split(String.fromCharCode(C[i])).join("");}return t;};document.addEventListener("copy",function(e){var sel=document.getSelection();if(!sel||sel.isCollapsed||!e.clipboardData){return;}e.clipboardData.setData("text/plain",s(sel.toString()));try{var d=document.createElement("div");d.appendChild(sel.getRangeAt(0).cloneContents());e.clipboardData.setData("text/html",s(d.innerHTML));}catch(x){}e.preventDefault();});})();</script></body>
</html>
```

Tallenna ja sulje HTML-tiedosto ja luo *docker-compose.yml-tiedosto*.

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

Sisältö on jaettu konfiguraation versionumeroon ja palveluosiin.

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

Palveluosiossa on yksi palvelu nimeltä ”web”. Se on liitetty määritettyyn Nginx-kuvaan ja portin uudelleenohjaukseen. Määrittelyssämme kaikki isäntäkoneen porttiin 8000 lähetetyt pyynnöt ohjataan portissa 80 toimivaan web-konttiin, jossa Nginx on käynnissä. Lisäksi käytämme **isäntäkoneen ja kontin välistä jaettua levytilaa**. Tämän ansiosta Nginx-sovellus pääsee käsiksi paikalliseen ”app”-kansioon

### Vaihe 3: Suorita Docker Compose

Seuraavalla komennolla luomme **verkkokontin** ja käynnistämme konttiympäristön taustalla:

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

Jos YAML-tiedostossa määritettyä kuvaa ei löydy paikallisesta järjestelmästä, se ladataan automaattisesti.

Voit tarkistaa, onko Nginx-ympäristö käynnissä, antamalla komennon `ps`.

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

Aiemmin luomasi esimerkkisivu on nyt käytettävissä osoitteessa *localhost:8000*, kun suoritat esittelyn omalla koneellasi. Jos käytät etäpalvelinta, määritä palvelimesi IP-osoite sanan ”localhost” sijaan.

[![Kuva: Docker Compose sample page](https://www.ionos.com/fi-fi/digitalguide/fileadmin/_processed_/b/8/csm_docker-compose-test-page-ubuntu_f263b18904.webp "Docker Compose sample page")](https://www.ionos.com/fi-fi/digitalguide/fileadmin/DigitalGuide/Screenshots_2023/docker-compose-test-page-ubuntu.png) Sample page for an Nginx container Voit pysäyttää konttisovelluksen käyttämällä `stop`.

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

Vinkki Etkö ole varma, miten pääset alkuun konttityökalujen kanssa? Tutustu [Docker-oppaaseemme](https://www.ionos.com/fi-fi/digitalguide/palvelin/asetukset/docker-opas-asennus-ja-ensimmaeiset-askeleet/) ja Docker-komentojen yleiskatsaukseen. Tai lue lisää Docker-orkestroinnista Swarm- ja Compose-työkalujen avulla.


This is a markdown version of: [https://www.ionos.com/fi-fi/digitalguide/palvelin/asetukset/docker-compose-ubuntussa/](https://www.ionos.com/fi-fi/digitalguide/palvelin/asetukset/docker-compose-ubuntussa/) for AI/LLM consumption.