Docker Configuration

Overview

The Docker environment provides isolated testing capabilities for Redis and Memcached implementations.

Configuration Files

1. Dockerfile.test

FROM golang:1.22.3-alpine

WORKDIR /app
COPY . .

RUN go mod download
CMD ["go", "test", "./tests/...", "-v"]

2. docker-compose.yml

version: '3.8'

services:
  tests:
    build:
      context: ..
      dockerfile: docker/Dockerfile.test
    depends_on:
      - redis
      - memcached
    environment:
      - REDIS_HOST=redis
      - MEMCACHED_HOST=memcached

  redis:
    image: redis:alpine
    ports:
      - "6379:6379"

  memcached:
    image: memcached:alpine
    ports:
      - "11211:11211"

Environment Variables

Variable Description Default
REDIS_HOST Redis server hostname redis
REDIS_PORT Redis server port 6379
MEMCACHED_HOST Memcached server hostname memcached
MEMCACHED_PORT Memcached server port 11211

Usage

# Run all tests
docker-compose run --rm tests

# Run specific test suite
docker-compose run --rm tests go test ./tests/redis/...

Back to top

Copyright © 2024 Veysel Aksin. Distributed under the MIT license.