使用身份验证从Dockerfile运行Redis Docker容器

时间:2018-12-24 11:58:47

标签: docker redis dockerfile

我使用官方的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?

1 个答案:

答案 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