Install Vector on Docker

Docker is an open platform for developing, shipping, and running applications and services. With Docker, you can manage your infrastructure in the same ways you manage your services. By taking advantage of Docker’s methodologies for shipping, testing, and deploying code quickly, you can significantly reduce the delay between writing code and running it in production. This page covers installing and managing Vector on the Docker platform.

Installation

Pull the Vector image:

docker pull timberio/vector:0.43.1-debian

Other available distributions (beyond debian):

  • alpine
  • distroless-libc
  • distroless-static

Deployment

Vector is an end-to-end observability data pipeline designed to deploy under various roles. You mix and match these roles to create topologies. The intent is to make Vector as flexible as possible, allowing you to fluidly integrate Vector into your infrastructure over time. The deployment section demonstrates common Vector pipelines:

Administration

Configure

Create a new Vector configuration. The below will output dummy logs to stdout.

cat <<-EOF > $PWD/vector.yaml
api:
  enabled: true
  address: 0.0.0.0:8686
sources:
  demo_logs:
    type: demo_logs
    interval: 1
    format: json
sinks:
  console:
    inputs:
      - demo_logs
    target: stdout
    type: console
    encoding:
      codec: json
EOF

Start

docker run \
  -d \
  -v $PWD/vector.yaml:/etc/vector/vector.yaml:ro \
  -p 8686:8686 \
  --name vector \
  timberio/vector:0.43.1-debian

Make sure to substitute out debian if you’re using a different distribution.

Stop

docker stop vector

Reload

docker kill --signal=HUP vector

Restart

docker restart $(docker ps -aqf "name=vector")

Observe

To tail the logs from your Vector image:

docker logs -f $(docker ps -aqf "name=vector")

To access metrics from your Vector image:

docker exec -ti $(docker ps -aqf "name=vector") vector top

Uninstall

docker rm vector