我使用官方的redis docker镜像。我需要使用密码进行身份验证 这就是为什么我没有注释特殊块
# requirepass foobared
因此,当我运行命令docker run -v /myredis/conf/redis.conf:/usr/local/etc/redis/redis.conf --name myredis redis redis-server /usr/local/etc/redis/redis.conf
时,redis要求我提供密码。
但是我需要从Dockerfile创建docker镜像。这是我的Dockerfile:
FROM redis
COPY redis.conf /usr/local/etc/redis/redis.conf
CMD [ "redis-server", "/usr/local/etc/redis/redis.conf" ]
Redis不会询问我密码。 如何创建Dockerfile以获得AUTH?
答案 0 :(得分:0)
在COPY
命令中省略目标文件名:
COPY redis.conf /usr/local/etc/redis/
目标应该是路径,而不是文件名:
dest
是绝对路径,或相对于WORKDIR的路径 它将源复制到目标容器中。
据我所知,您正在尝试启动redis
容器而不是您自己的容器!这是一个错误,您需要使用您的一个。
让我们说一下是否使用命令构建它:
docker build -t my-redis .
然后用类似的东西启动它
docker run -d -p 6379:6379 -v /data:/data --name "redis-elk" my-redis redis-server --appendonly yes