ruby-on-railsdockerredisprocfile

Docker with Redis via Procfile.dev in iTerm2 output is unreadable


This is a bit of a strange one and I can't find answers anywhere else... if I have a Procfile.dev file with a basic Redis command in it such as redis: docker run --rm -it -p 6379:6379 redis:latest and run it via bin/dev the output from the Redis ascii art makes the logs unreable. If I remove the Redis command from the Procfile.dev it goes back to being neat and readable, below is an example of the messed up output:

Docker running via bin/dev via a Procfile.dev

Does anyone know how to make this look nice? I'm having to run docker outside the procfile atm because of this.

This is a Ruby on Rails 7 app running via bin/dev, if that is relevant.


Solution

  • If possible try running the docker container in non interactive mode:

    redis: docker run --rm -p 6379:6379 redis:latest
    

    Note the removal of the -it flag.

    It will cause redis to not output the logo ascii art.

    The reasoning behind the solution are the comments defined for the configuration property always-show-logo that you can see in redis.conf:

    # By default Redis shows an ASCII art logo only when started to log to the
    # standard output and if the standard output is a TTY and syslog logging is
    # disabled. Basically this means that normally a logo is displayed only in
    # interactive sessions.
    

    Similar issues has been reported for the service, like this one related to syslog.