web-dev-qa-db-fra.com

Docker-compose, de toute façon pour spécifier un fichier redis.conf?

mon conteneur redis est défini comme l'image standard dans mon docker_compose.yml

redis:  
  image: redis
  ports:
    - "6379"

Je suppose qu'il utilise des paramètres standard tels que la liaison à Redis sur localhost.Je dois le lier à 0.0.0.0, existe-t-il de toute façon pour ajouter un fichier redis.conf local pour modifier la liaison et permettre à docker-compose de le savoir?

merci pour tout truc ...

20
user762579

Oui. Montez simplement votre redis.conf par défaut avec un volume:

redis:  
  image: redis
  volumes:
    - ./redis.conf:/usr/local/etc/redis/redis.conf
  ports:
    - "6379"

Alternativement, créez une nouvelle image basée sur l'image redis avec votre fichier de conf copié. Les instructions complètes sont à: https://registry.hub.docker.com/_/redis/

Cependant, l'image redis se lie à 0.0.0.0 par défaut. Pour y accéder depuis l'hôte, vous devez utiliser le port que Docker a mappé sur l'hôte pour vous, que vous trouverez en utilisant docker ps ou la docker port, vous pouvez y accéder à partir de localhost:32678 où 32678 est le port mappé. Vous pouvez également spécifier un port spécifique à mapper dans le docker-compose.yml.

Comme vous semblez être nouveau dans Docker, cela pourrait avoir un peu plus de sens si vous commencez par utiliser des commandes Docker brutes plutôt que de commencer avec Compose.

31
Adrian Mouat

Vieille question, mais si quelqu'un veut toujours le faire, c'est possible avec les volumes et la commande:

command: redis-server /usr/local/etc/redis/redis.conf
volumes:
 - ./redis/redis.conf:/usr/local/etc/redis/redis.conf
14
Marcola