Redis не использует файл конфигурации в миникубе - PullRequest
0 голосов
/ 27 февраля 2020

Я хочу включить пароль для моего контейнера Redis в minikube. Итак, я включил requirepass в redis.conf. Затем я сгенерировал образ Docker с этим файлом конфигурации, используя следующее Dockerfile.

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

Затем я запускаю модуль с этим изображением, используя следующий Deployment YAML.

kind: Deployment
apiVersion: apps/v1
metadata:
  name: cache
  labels:
    run: cache
spec:
  replicas: 1
  selector:
    matchLabels:
      run: cache
  template:
    metadata:
      labels:
        run: cache
    spec:
      containers:
        - name: cache
          image: redis
          envFrom:
            - configMapRef: 
                name: redis-cfgmap
          resources:
            limits:
              memory: "256Mi"
              cpu: "200m"
          imagePullPolicy: Never
      restartPolicy: Always
      terminationGracePeriodSeconds: 30

Обратите внимание, я делаю docker build -t redis:latest из оболочки, которая запустила eval $(minikube docker-env). Кроме того, imagePullPolicy установлен на Never, так что образ извлекается из локального реестра Dokcer.

Пока модуль запускается, в журналах отмечается, что указанный файл конфигурации не используется.

6:C 27 Feb 2020 04:06:08.568 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
6:C 27 Feb 2020 04:06:08.568 # Redis version=5.0.7, bits=64, commit=00000000, modified=0, pid=6, just started
6:C 27 Feb 2020 04:06:08.568 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
6:M 27 Feb 2020 04:06:08.570 * Running mode=standalone, port=6379.
6:M 27 Feb 2020 04:06:08.570 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
6:M 27 Feb 2020 04:06:08.570 # Server initialized
6:M 27 Feb 2020 04:06:08.571 * Ready to accept connections

Чего не хватает?

1 Ответ

0 голосов
/ 28 февраля 2020

Просто еще немного объяснения, для кого это может понадобиться.

По какой-то причине создается впечатление, что создаваемое вами изображение - вместо того, чтобы перезаписывать существующее изображение, как оно должно было - не делали это и вы застряли с redis:latest официальным образом, а не с тем, который вы только что создали.

При подходе к этой проблеме и попытке создать образ у меня возникла та же проблема, что и у вас, и я смог ее решить, запустив docker system prune, но после этого мне не удалось повторить его еще раз, поэтому мне трудно сказать, что было настоящей причиной этого.

В любом случае, я рад, что это сработало для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...