> For the complete documentation index, see [llms.txt](https://overleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://overleaf-pro.ayaka.space/on-premises/fi/aloittaminen/requirements/setup-docker.md).

# Dockerin käyttöönotto

Overleaf toimii Dockerilla. Sinun täytyy asentaa:

* Docker Engine (Docker CE)
* Docker Compose **liitännäinen** (`docker compose`, v2)

Nämä vaiheet on tarkoitettu uudelle Ubuntu LTS -versiolle (20.04/22.04/24.04).

{% hint style="warning" %}
Vältä asentamasta `docker.io` Ubuntun oletus-apt-arkistosta.\
Käytä Dockerin virallista arkistoa, jotta saat uudemman Docker-version ja `docker compose` liitännäisen.
{% endhint %}

Virallinen ohje löytyy osoitteesta: <https://docs.docker.com/engine/install/ubuntu/>.

{% stepper %}
{% step %}

### 1) Poista vanhat/ristiriitaiset paketit (jos niitä on)

Jos Docker on aiemmin asennettu muusta lähteestä, poista se ensin:

{% code overflow="wrap" %}

```bash
 sudo apt remove $(dpkg --get-selections docker.io docker-compose docker-compose-v2 docker-doc podman-docker containerd runc | cut -f1)
```

{% endcode %}

Tämä komento on turvallinen, vaikka joitakin paketteja ei olisi asennettu.
{% endstep %}

{% step %}

### 2) Lisää Dockerin virallinen apt-arkisto

Asenna esivaatimukset:

```bash
sudo apt update
sudo apt install -y ca-certificates curl
```

Lisää Dockerin GPG-avain:

{% code overflow="wrap" %}

```bash
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
```

{% endcode %}

Lisää arkisto:

{% code overflow="wrap" %}

```bash
# Lisää arkisto Apt-lähteisiin:
sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Signed-By: /etc/apt/keyrings/docker.asc
EOF

sudo apt update
```

{% endcode %}
{% endstep %}

{% step %}

### 3) Asenna Docker Engine + Compose-liitännäinen

Asenna Docker ja Compose-liitännäinen:

{% code overflow="wrap" %}

```bash
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
```

{% endcode %}

Käynnistä Docker automaattisesti käynnistyksen yhteydessä:

```bash
sudo systemctl enable --now docker
```

{% endstep %}

{% step %}

### 4) Varmista asennus

Näiden komentojen pitäisi suorittua ilman virheitä:

```bash
docker --version
docker compose version
sudo docker run --rm hello-world
docker ps
```

{% endstep %}

{% step %}

### 5) (Valinnainen) Käytä Dockeria ilman sudoa

Lisää käyttäjäsi `docker` ryhmään:

```bash
sudo usermod -aG docker $USER
```

Sitten **kirjaudu ulos ja takaisin sisään**, tai suorita:

```bash
newgrp docker
```

Nyt tämän pitäisi toimia ilman `sudo`:

```bash
docker ps
```

{% hint style="danger" %}
Kentän `docker` ryhmällä on juuritason vastaava pääsy isäntäkoneeseen.\
Tämä on odotettua tavallisissa Overleaf-asennuksissa, ja erityisen olennaista, jos otat Sandboxed Compiles -toiminnon käyttöön.
{% endhint %}
{% endstep %}
{% endstepper %}

### Seuraava vaihe

Kun Docker toimii, jatka Toolkitin asennusvaiheisiin kohdassa [Toolkitin käyttäminen](/on-premises/fi/asennus/using-the-toolkit.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://overleaf-pro.ayaka.space/on-premises/fi/aloittaminen/requirements/setup-docker.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
