Я пытаюсь запустить контейнер docker, используя redis db, у меня есть постоянная копия, сохраненная на локальном компьютере. В настоящее время у меня есть docker контейнер, загружающий redis с томом, использующим этот docker-compose.yml
, но он пропускает мой redis.conf (который содержит команду loadmodule), расположенный в томе с файлом rdb
version: '3'
services:
redis:
image: redis
container_name: "redis"
ports:
- "6379:6379"
volumes:
- E:\redis_backup_conf:/data
При этом начинается загрузка RDB, но происходит сбой, поскольку данные используют этот модуль временных рядов .
Я могу загрузить отдельный docker контейнер с fre sh redis db, в который загружен модуль time seriese, используя следующий файл докеров. Моя проблема в том, что я не могу понять, как делать и то, и другое одновременно!
Есть ли способ вызвать dockerfile из docker -compose.yml или объявить том в dockerfile? Это, или я должен создать свой собственный образ, который я могу вызвать в docker -compose.yml? Любая помощь будет оценена, я честно, просто хожу по кругу, я думаю.
dockerfile
# BUILD redisfab/redistimeseries:${VERSION}-${ARCH}-${OSNICK}
ARG REDIS_VER=6.0.1
# stretch|bionic|buster
ARG OSNICK=buster
# ARCH=x64|arm64v8|arm32v7
ARG ARCH=x64
#----------------------------------------------------------------------------------------------
FROM redisfab/redis:${REDIS_VER}-${ARCH}-${OSNICK} AS builder
ARG REDIS_VER
ADD ./ /build
WORKDIR /build
RUN ./deps/readies/bin/getpy2
RUN ./system-setup.py
RUN make fetch
RUN make build
#----------------------------------------------------------------------------------------------
FROM redisfab/redis:${REDIS_VER}-${ARCH}-${OSNICK}
ARG REDIS_VER
ENV LIBDIR /usr/lib/redis/modules
WORKDIR /data
RUN mkdir -p "$LIBDIR"
COPY --from=builder /build/bin/redistimeseries.so "$LIBDIR"
EXPOSE 6379
CMD ["redis-server", "--loadmodule", "/usr/lib/redis/modules/redistimeseries.so"]
EDIT:
хорошо .. небольшое улучшение может вызвать изображение redis-timeseries в docker -compose.yml
services:
redis:
image: redislabs/redistimeseries
container_name: "redis"
ports:
- "6379:6379"
volumes:
- E:\redis_backup_conf:/data
Это начало, но мне все еще нужно увеличить максимальное количество db, я использовал redis.conf для сделайте это в прошлом.