Skip to content

Commit

Permalink
docs: Update docker installation topic
Browse files Browse the repository at this point in the history
  • Loading branch information
JStickler committed Apr 23, 2024
1 parent ae180d6 commit c5ffad5
Showing 1 changed file with 88 additions and 23 deletions.
111 changes: 88 additions & 23 deletions docs/sources/setup/install/docker.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,55 +9,120 @@ weight: 400
# Install Loki with Docker or Docker Compose

You can install Loki and Promtail with Docker or Docker Compose if you are evaluating, testing, or developing Loki.
For production, Grafana recommends installing with Tanka or Helm.
For production, Grafana recommends installing with Helm or Tanka.

The configuration acquired with these installation instructions run Loki as a single binary.
The configuration files associated with these installation instructions run Loki as a single binary.

## Prerequisites

- [Docker](https://docs.docker.com/install)
- [Docker Compose](https://docs.docker.com/compose/install) (optional, only needed for the Docker Compose install method)

## Install with Docker
## Install with Docker on Linux

**Linux**
1. Create a directory called `loki`. Make `loki` your current working directory:

Copy and paste the commands below into your command line.
```bash
mkdir loki
cd loki
```

```bash
wget https://raw.githubusercontent.com/grafana/loki/v2.9.2/cmd/loki/loki-local-config.yaml -O loki-config.yaml
docker run --name loki -d -v $(pwd):/mnt/config -p 3100:3100 grafana/loki:2.9.2 -config.file=/mnt/config/loki-config.yaml
wget https://raw.githubusercontent.com/grafana/loki/v2.9.2/clients/cmd/promtail/promtail-docker-config.yaml -O promtail-config.yaml
docker run --name promtail -d -v $(pwd):/mnt/config -v /var/log:/var/log --link loki grafana/promtail:2.9.2 -config.file=/mnt/config/promtail-config.yaml
```
1. Copy and paste the following commands into your command line to download `loki-local-config.yaml` and `promtail-docker-config.yaml` to your `loki` directory.

```bash
wget https://raw.githubusercontent.com/grafana/loki/v2.9.2/cmd/loki/loki-local-config.yaml -O loki-config.yaml
wget https://raw.githubusercontent.com/grafana/loki/v2.9.2/clients/cmd/promtail/promtail-docker-config.yaml -O promtail-config.yaml
```

1. Copy and paste the following commands into your command line to start the Docker containers using the configuration files you downloaded in the previous step.

```bash
docker run --name loki -d -v $(pwd):/mnt/config -p 3100:3100 grafana/loki:2.9.2 -config.file=/mnt/config/loki-config.yaml
docker run --name promtail -d -v $(pwd):/mnt/config -v /var/log:/var/log --link loki grafana/promtail:2.9.2 -config.file=/mnt/config/promtail-config.yaml
```

{{< admonition type="note" >}}
The image is configured to run by default as user `loki` with UID `10001` and GID `10001`. You can use a different user, specially if you are using bind mounts, by specifying the UID with a `docker run` command and using `--user=UID` with a numeric UID suited to your needs.
{{< /admonition >}}

When finished, `loki-config.yaml` and `promtail-config.yaml` are downloaded in the directory you chose. Docker containers are running Loki and Promtail using those config files.
1. Verify that your containers are running:

Navigate to http://localhost:3100/metrics to view the metrics and http://localhost:3100/ready for readiness.
```bash
docker container ls
```

The image is configured to run by default as user loki with UID `10001` and GID `10001`. You can use a different user, specially if you are using bind mounts, by specifying the UID with a `docker run` command and using `--user=UID` with numeric UID suited to your needs.
You should see something similar to the following:

**Windows**
```bash
Copy and paste the commands below into your terminal. Note that you will need to replace the `<placeholders>` in the commands with your local path.
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9485de9ad351 grafana/promtail:2.9.2 "/usr/bin/promtail -…" About a minute ago Up About a minute promtail
cece1df84519 grafana/loki:2.9.2 "/usr/bin/loki -conf…" About a minute ago Up About a minute 0.0.0.0:3100->3100/tcp, :::3100->3100/tcp loki
```

1. Verify that Loki is up and running.

- To view readiness, navigate to http://localhost:3100/ready.
- To view metrics, navigate to http://localhost:3100/metrics.

## Install with Docker on Windows

1. Copy and paste the following commands into your command line to download `loki-local-config.yaml` and `promtail-docker-config.yaml` to your `loki` directory. Note that you will need to replace the `<local-path>` in the commands with your local path.

```bash
cd "<local-path>"
wget https://raw.githubusercontent.com/grafana/loki/v2.9.2/cmd/loki/loki-local-config.yaml -O loki-config.yaml
docker run --name loki -v <local-path>:/mnt/config -p 3100:3100 grafana/loki:2.9.2 --config.file=/mnt/config/loki-config.yaml
wget https://raw.githubusercontent.com/grafana/loki/v2.9.2/clients/cmd/promtail/promtail-docker-config.yaml -O promtail-config.yaml
```

1. Copy and paste the following commands into your command line to start the Docker containers using the configuration files you downloaded in the previous step. Note that you will need to replace the `<local-path>` in the commands with your local path.

```bash
docker run --name loki -v <local-path>:/mnt/config -p 3100:3100 grafana/loki:2.9.2 --config.file=/mnt/config/loki-config.yaml
docker run -v <local-path>:/mnt/config -v /var/log:/var/log --link loki grafana/promtail:2.9.2 --config.file=/mnt/config/promtail-config.yaml
```

When finished, `loki-config.yaml` and `promtail-config.yaml` are downloaded in the directory you chose. Docker containers are running Loki and Promtail using those config files.
1. Verify that Loki is up and running.

Navigate to http://localhost:3100/metrics to view the output.
- To view readiness, navigate to http://localhost:3100/ready.
- To view metrics, navigate to http://localhost:3100/metrics.

## Install with Docker Compose

Run the following commands in your command line. They work for Windows or Linux systems.

```bash
wget https://raw.githubusercontent.com/grafana/loki/v2.9.2/production/docker-compose.yaml -O docker-compose.yaml
docker-compose -f docker-compose.yaml up
```
1. Create a directory called `loki`. Make `loki` your current working directory:

```bash
mkdir loki
cd loki
```

1. Copy and paste the following command into your command line to download the `docker-compose` file.

```bash
wget https://raw.githubusercontent.com/grafana/loki/v2.9.2/production/docker-compose.yaml -O docker-compose.yaml
```

1. With `loki` as the current working directory, run the following 'docker-compose` command:
```bash
docker-compose -f docker-compose.yaml up
```
You should see something similar to the following:
```bash
✔ Container mydevice-minio-1 Started 0.0s
✔ Container mydevice-flog-1 Started 0.0s
✔ Container mydevice-write-1 Started 0.0s
✔ Container mydevice-read-1 Started 0.0s
✔ Container mydevice-gateway-1 Started 0.0s
✔ Container mydevice-grafana-1 Started 0.0s
✔ Container mydevice-promtail-1 Started 0.0s
```
1. Verify that Loki is up and running.
- To view readiness, navigate to http://localhost:3100/ready.
- To view metrics, navigate to http://localhost:3100/metrics.

0 comments on commit c5ffad5

Please sign in to comment.