2015-07-28 6 views
5

Я хотел бы установить пароль на моем сервере Redis, работающем на докере. Я следовал instcruction на https://registry.hub.docker.com/_/redis/:Как запустить Redis на докере с другим конфигурационным файлом?

1.I создал папку с Dockerfile, содержащую:

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

2.I добавил файл redis.conf с:

requirepass thepassword 

3.Я построил изображение с помощью:

docker build -t ouruser/redis . 

4.I начал контейнер:

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

У сервера redis нет пароля! Я не понимаю, почему.

ответ

9

Команда запуска:

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

Overrides ЦМД определяется в Dockerfile с redis-server --appendonly yes, поэтому файл конф будет игнорируется. Просто добавьте путь к файлу конф в вашем запуска команды:

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 

В качестве альтернативы, создать сценарий Entrypoint или добавить --appendonly yes инструкции CMD.

Смежные вопросы