如何使用不同的配置文件在docker上运行Redis?

时间:2015-07-28 09:49:01

标签: redis docker dockerfile

我想在docker上运行的Redis服务器上设置密码。我跟随了https://registry.hub.docker.com/_/redis/的实例:

1.我创建了一个包含Dockerfile的文件夹,其中包含:

FROM redis  
COPY redis.conf /usr/local/etc/redis/redis.conf  
CMD [ "redis-server", "/usr/local/etc/redis/redis.conf" ] 

2.我已经添加了一个redis.conf文件:

requirepass thepassword

3.我使用以下方法构建了图像:

docker build -t ouruser/redis .

4.我开始了容器:

docker run --name my-redis -p 0.0.0.0:6379:6379 -d ouruser/redis redis-server --appendonly yes

redis服务器没有任何密码!我不懂为什么。

1 个答案:

答案 0 :(得分:13)

运行命令:

docker run --name my-redis -p 0.0.0.0:6379:6379 -d ouruser/redis redis-server --appendonly yes

使用redis-server --appendonly yes覆盖Dockerfile中定义的CMD,因此您的conf文件将被忽略。只需将conf文件的路径添加到运行命令中:

docker run --name my-redis -p 0.0.0.0:6379:6379 -d ouruser/redis redis-server /usr/local/etc/redis/redis.conf --appendonly yes

或者,设置入口点脚本或将--appendonly yes添加到CMD指令。