weserv/images

View on GitHub
DOCKER.md

Summary

Maintainability
Test Coverage
# Docker instructions

This document describes how to use weserv/images with Docker.

## Installation

1. Create a `config.php` from the `config.example.php` file. Adapt it according to your needs.
    ```bash
    cp config.example.php config.php
    ```

2. Build/run the container.
    ```bash
    $ docker build . -t weserv/images
    $ docker run \
        -d \
        -v $(pwd):/var/www/imagesweserv \
        -v $(pwd)/logs:/var/log/supervisor \
        -p 8080:80 \
        --shm-size=1gb \
        --name=weserv \
        weserv/images
    ```
    (this maps TCP port 80 in the container to port 8080 on the Docker host)

3. Install composer packages.
    ```bash
    $ docker exec weserv composer install
    ```

4. Visit [`http://localhost:8080/`](http://localhost:8080/).

5. Enjoy :-)

## Useful commands

```bash
# bash commands
$ docker exec -it weserv bash

# Composer (e.g. composer update)
$ docker exec weserv composer update

# Retrieve an IP Address
$ docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -f name=weserv -q)
$ docker inspect $(docker ps -f name=weserv -q) | grep IPAddress

# Access to redis-cli
$ docker exec -it weserv redis-cli

# When you have reached the rate-limit (where 127.0.0.1 is your IP address)
$ docker exec weserv redis-cli DEL c_127.0.0.1:lockout

# Make configuration changes available
$ docker exec weserv supervisorctl reread

# Restarts the applications whose configuration has changed
$ docker exec weserv supervisorctl update

# Access to logs
$ docker logs weserv

# Check CPU consumption
$ docker stats

# Stop all containers
$ docker stop $(docker ps -aq)

# Delete all containers
$ docker rm $(docker ps -aq)

# Delete all images
$ docker rmi $(docker images -q)
```