skyho
skyho

Reputation: 1903

An error during is running a docker-compose.yml for phpRedisAdmin

version: '3'

services:
  redis:
    image: redis
    container_name: redis
    restart: always
    volumes:
      - //projects/spring-data-redis-example/src/main/resources/docker/redis/storage:/opt/redis/data/bases
      - //projects/spring-data-redis-example/src/main/resources/docker/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf
      - //projects/spring-data-redis-example/src/main/resources/docker/redis/log/redis-server.log:/opt/redis/logs/redis-server.log
    ports:
      - 6379:6379

phpredisadmin:
  image: erikdubbelboer/phpredisadmin
  container_name: redis-manager
  environment:
    ADMIN_USER: admin
    ADMIN_PASS: admin
    REDIS_1_HOST: 192.168.99.100
    REDIS_1_PORT: 6379
links:
  - redis
ports:
  - "8085:80"
command: --loglevel verbose

The first part of the file is performed (the creating redis-container), but I cannot make the creation a container for web phpRedisAdmin.

I can make only so:

docker run --rm -it -e REDIS_1_HOST=192.168.99.100 -e REDIS_1_NAME=redis -p 8085:80 erikdubbelboer/phpredisadmin

It's work.

I tried to do this as shown in this link, Example usage with docker-compose for creating docker-compose.yml That to make phpRedisAdmin.

I used "depends_on":

version: '3'

services:
  redis:
    image: redis

....

 phpredisadmin:
    image: erikdubbelboer/phpredisadmin
    container_name: redis-manager
    depends_on:
      - redis
    environment:
      #ADMIN_USER: admin
      #ADMIN_PASS: admin
      REDIS_1_HOST: 192.168.99.100
      REDIS_1_PORT: 6379
    links:
      - redis
    ports:
      - "8085:80"
    command: --loglevel verbose

But a container with redis-manager doesn't start.

enter image description here

enter image description here

Update_3

$ docker-compose up
WARNING: Found orphan containers (mongo, mongo-manager) for this project. If you removed or renamed this service in your compose file, you can run this command with
the --remove-orphans flag to clean it up.
Creating redis ... done
Creating redis-manager ... done
Attaching to redis, redis-manager
redis            | 1:C 15 Aug 2020 18:17:30.323 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
redis            | 1:C 15 Aug 2020 18:17:30.323 # Redis version=6.0.6, bits=64, commit=00000000, modified=0, pid=1, just started
redis            | 1:C 15 Aug 2020 18:17:30.323 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /pa
th/to/redis.conf
redis-manager    | Usage: php [options] [-f] <file> [--] [args...]
redis-manager    |    php [options] -r <code> [--] [args...]
redis-manager    |    php [options] [-B <begin_code>] -R <code> [-E <end_code>] [--] [args...]
redis-manager    |    php [options] [-B <begin_code>] -F <file> [-E <end_code>] [--] [args...]
redis-manager    |    php [options] -S <addr>:<port> [-t docroot] [router]
redis-manager    |    php [options] -- [args...]
redis-manager    |    php [options] -a
redis-manager    |
redis-manager    |   -a               Run as interactive shell
redis-manager    |   -c <path>|<file> Look for php.ini file in this directory
redis-manager    |   -n               No configuration (ini) files will be used
redis-manager    |   -d foo[=bar]     Define INI entry foo with value 'bar'
redis-manager    |   -e               Generate extended information for debugger/profiler
redis-manager    |   -f <file>        Parse and execute <file>.
redis-manager    |   -h               This help
redis-manager    |   -i               PHP information
redis-manager    |   -l               Syntax check only (lint)
redis-manager    |   -m               Show compiled in modules
redis-manager    |   -r <code>        Run PHP <code> without using script tags <?..?>
redis-manager    |   -B <begin_code>  Run PHP <begin_code> before processing input lines
redis-manager    |   -R <code>        Run PHP <code> for every input line
redis-manager    |   -F <file>        Parse and execute <file> for every input line
redis-manager    |   -E <end_code>    Run PHP <end_code> after processing all input lines
redis-manager    |   -H               Hide any passed arguments from external tools.
redis-manager    |   -S <addr>:<port> Run with built-in web server.
redis-manager    |   -t <docroot>     Specify document root <docroot> for built-in web server.
redis-manager    |   -s               Output HTML syntax highlighted source.
redis-manager    |   -v               Version number
redis-manager    |   -w               Output source with stripped comments and whitespace.
redis-manager    |   -z <file>        Load Zend extension <file>.
redis-manager    |
redis-manager    |   args...          Arguments passed to script. Use -- args when first argument
redis-manager    |                    starts with - or script is read from stdin
redis-manager    |
redis-manager    |   --ini            Show configuration file names
redis-manager    |
redis-manager    |   --rf <name>      Show information about function <name>.
redis-manager    |   --rc <name>      Show information about class <name>.
redis-manager    |   --re <name>      Show information about extension <name>.
redis-manager    |   --rz <name>      Show information about Zend extension <name>.
redis-manager    |   --ri <name>      Show configuration for extension <name>.
redis-manager    |
redis-manager exited with code 0

Update_3

This configuration file is correct.

docker-compose.yml

version: '3'

services:
  redis:
    image: redis
    container_name: redis
    restart: always
    volumes:
      - //projects/spring-data-redis-example/src/main/resources/docker/redis/storage:/opt/redis/data/bases
      - //projects/spring-data-redis-example/src/main/resources/docker/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf
      - //projects/spring-data-redis-example/src/main/resources/docker/redis/log/redis-server.log:/opt/redis/logs/redis-server.log
    ports:
      - 6379:6379

  phpredisadmin:
    image: erikdubbelboer/phpredisadmin
    container_name: redis-manager
    depends_on:
      - redis
    environment:
      REDIS_1_HOST: 192.168.99.100
      REDIS_1_PORT: 6379
    links:
      - redis
    ports:
      - "8085:80"

Please, someone tell me how to fix the docker-compose.yml I created and to explain me what was done wrong.

Upvotes: 1

Views: 952

Answers (1)

Marko E
Marko E

Reputation: 18203

Add depends_on to the phptredisadmin section:

  phpredisadmin:
    image: erikdubbelboer/phpredisadmin
    container_name: redis-manager
    depends_on:
      - redis
    environment:
      #ADMIN_USER: admin
      #ADMIN_PASS: admin
      REDIS_1_HOST: 192.168.99.100
      REDIS_1_PORT: 6379
    links:
      - redis
    ports:
      - "8085:80"
    command: --loglevel verbose

More info here: https://docs.docker.com/compose/compose-file/#depends_on.

Upvotes: 1

Related Questions