Запуск Redis из Docker

Настраиваю celery для Django. Поставил Docker, поставил Redis, как сделать так, чтобы при старте системы поднимался Redis из Docker, чтобы в виртуальном окружении его не поднимать? Или же Docker надо ставить в самом окружении проекта? ОС Centos 10.

Чтобы Redis автоматически запускался при старте системы, вы можете использовать системные службы, такие как systemd, которые есть в Centos.

Настройка Docker-контейнера:

Для автоматического запуска контейнера Redis, добавьте флаг --restart=always при его создании. Это гарантирует, что контейнер будет перезапущен при перезагрузке системы или в случае сбоя.

docker run --name some-redis -d --restart=always redis

--name some-redis: Дает имя контейнеру для удобства.

-d: Запускает контейнер в фоновом режиме (detached mode).

--restart=always: Самая важная часть. Указывает Docker всегда перезапускать контейнер.

Проверка:

После выполнения этой команды, Docker сам позаботится о запуске Redis при каждой загрузке ОС. Вы можете проверить, что контейнер запущен, с помощью команды:

docker ps

Лучше сделать через Docker Compose, да бы если вы внесли изменения в контейнер поднятый руками не потерялись и вы всегда знали, что у вас запущено и как, с жесткой привязкой к версии - с указанием тега образа.

sudo -i
mkdir /opt/redis
cd /opt/redis
nano docker-compose.yml

И вставляем следующее содержимое - замените версию образа в случае необходимости

services:
  redis:
    image: redis:8.0
    ports:
      - "6379:6379"
    restart: always

Запускаем сборку контейнера из образа

docker compose up --wait

Команда будет отображать информацию о сборке контейнера и как только он перейдет в состояние Healthy завершит работу.

Проверить, что контейнер запущен можно командой

docker ps
Вернуться на верх