我想在docker上运行的Redis服务器上设置密码.我跟随了https://registry.hub.docker.com/_/redis/的instcruction:
1.我创建了一个包含Dockerfile的文件夹,其中包含:
FROM redis
COPY redis.conf /usr/local/etc/redis/redis.conf
CMD [ "redis-server","/usr/local/etc/redis/redis.conf" ]
requirepass thepassword
我使用以下方法构建了图像:
docker build -t ouruser/redis .
我开始了容器:
docker run --name my-redis -p 0.0.0.0:6379:6379 -d ouruser/redis redis-server --appendonly yes
redis服务器没有任何密码!我不懂为什么.
最佳答案
运行命令:
docker run --name my-redis -p 0.0.0.0:6379:6379 -d ouruser/redis redis-server --appendonly yes
使用redis-server覆盖Dockerfile中定义的CMD – 依赖是,因此您的conf文件将被忽略.只需将conf文件的路径添加到run命令中:
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
或者,设置入口点脚本或向CMD指令添加–appendonly yes.