我想在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服务器没有任何密码!我不懂为什么。
答案 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指令。