docker-compose - 通过环境变量 docker-compose redis 密码
问题描述
我正在尝试docker-compose
通过环境变量将我的 redis 密码传递给我,但它给了我一个错误。
这是我的 docker-compose 和 redis 图像的一部分:
redis:
image: redis
container_name: redis
# command: redis-server --requirepass mypassword <--- this works as expected
# command: redis-server --requirepass ${REDIS_PASSWORD} <-- this is not
command: redis-server --requirepass $${REDIS_PASSWORD} <-- and this is not
volumes:
- redis:/var/lib/redis/data
- ./redis.conf:/usr/local/etc/redis/redis.conf
ports:
- "6379"
env_file:
- .env.prod
我的.env.prod
REDIS_PASSWORD=mypassword
它给了我一个错误:
consumer: Cannot connect to redis://:**@redis:6379/0: WRONGPASS invalid username-password pair or user is disabled..
但是,如果我直接在 docker-compose 中指定密码而不使用 env 变量,它就可以工作。
解决方案
这应该有效:
redis:
image: redis
command: >
--requirepass ${REDIS_PASSWORD}
推荐阅读
- node.js - 为 webapp 的数据密集型操作启用客户端 CPU
- c - 使用 GCC 编译 32 位程序时出现奇怪的错误
- java - maven,ear 包将依赖项放在 ear 和 web 模块下
- c++ - 如何让用户创建/输入新书数据(使用 OOP)
- javascript - 为什么这个异步函数在它之前定义的等效 Promise.then 链之前执行?
- python - 我从书中获取了以下代码,但从大量研究中无法理解
- java - 我无法从文本文件中获取平均值、最大值和最小值
- python - Is there a more efficient method to create a Python class object with optional parameters?
- python - 服务器超载
- excel - 无法理解如何将变量传递给函数