Redis windows 10 docker

Запуск Redis в Windows 10

Как узнать, есть ли у меня Windows 10 с WSL?

Чтобы ответить на вопрос «Какая версия Windows работает на моем ПК? «Нажмите клавишу управления Windows + R, введите «winver», затем нажмите«ОК». Начиная с версии 10, у вас есть команда под названием «wslconfig». В ней перечислены дистрибутивы и элементы управления, которые начинаются с ввода «bash». Попробуйте!

Как настроить WSL!

  1. Чтобы включить подсистему Windows для Linux, следуйте инструкциям в документах Microsoft. Краткая версия: в Windows 10 Microsoft заменяет командную строку PowerShell в качестве оболочки по умолчанию. Откройте PowerShell в качестве администратора и запустите эту команду, чтобы включить подсистему Windows для Linux (WSL):
  2. Перезагрузите Windows после внесения изменений, которые вам нужно сделать только один раз.
  3. Загрузите и установите один из поддерживаемых дистрибутивов Linux из магазина Microsoft .
  • Ubuntu 18.04 (устанавливает Redis v4.09)
  • Kali Linux (устанавливает Redis v4.10)
  • Debian GNU/Linux (устанавливает Redis v3.2.6)

Установка и тестирование Redis

  1. Запустите установленный дистрибутив из Windows Store и установите redis-сервер. Следующий пример работает с Ubuntu (вам нужно будет ждать инициализации и создать логин при первом использовании):
  2. Перезагрузите сервер Redis, чтобы убедиться, что он запущен:
  3. Выполните простую команду Redis, чтобы убедиться, что ваш сервер Redis запущен и доступен:
  4. Чтобы остановить сервер Redis:

Дальнейшая информация

  • Как Linux работает в Windows 10? Вместо вызова ядра Linux системные вызовы (syscalls), которые используют эти немодифицированные библиотеки Linux, перенаправляются на Windows, который обрабатывает вызов вместо Linux. Дополнительные сведения о WSL см. в документации подсистемы Windows для Linux для MSDN .
  • Как получить доступ к файлам, хранящимся в среде Linux? Если вы хотите редактировать файлы Windows в Windows и в Linux, сохраните свои файлы в /mnt/c/, чтобы вы могли редактировать их в любой ОС. Не используйте Windows для доступа в файловую систему Linux.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Установка и настройка Redis как контейнера Docker для продуктового использования

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

Redis — популярное хранилище вида «ключ-значение» в памяти и не только — он позволяет организовывать другие хранилища, например, для множеств, очередей сообщений, блокировок, счетчиков и других структур. Благодаря высочайшей производительности Redis стал популярным хранилищем и используется в множестве продуктов, например, вы можете настроить хранение пользовательских сессий в Redis для PHP, что позволить разгрузить файловую систему сервера и автоматически удалять устаревшие объекты.

Читайте также:  Wise windows key finder

Настройка Docker

Если у вас уже настроен и установлен Docker, просто пропустите этот шаг. Если Docker не установлен, установите его по одному из руководств: Ubuntu 16.04 и 18.04, Debian 9 и 10, Centos 7 и приступайте к следующему шагу.

Настройка Redis

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

Нам понадобится два каталога — /opt/redis/etc и /opt/redis/data. В первом мы будем хранить настройки для redis.conf, а во втором — базы данных Redis и журналы, если вам требуется сохранять данные между перезапусками Redis. Обычно, если Redis используется для целей СУБД, а не кэша, то сохранение данных требуется.

Заполним конфигурационный файл /opt/redis/etc/redis.conf содержимым из блока, приведенного ниже:

Записи журнала Redis будут находиться в файле /opt/redis/logs/redis-server.log, а базы данных Redis в каталоге /opt/redis/data/bases.

Преимущества выполненных настроек Redis:

  • все базы данных Redis будут сохраняться между перезагрузками контейнера;
  • журналы redis будут находиться в файле, а не в syslog или в стандартном выводе контейнера;
  • конфигурационный файл, использованный в настройке находится во внешнем файле и может быть изменен по необходимости.

Для проверки того, что контейнер нормально запустился запустите команду

В результате, вы должны увидеть вывод, похожий на следующий:

На этом базовое продуктовое развертывание Redis можно считать законченной. Следующим шагом мы рекомендуем выполнить настройки безопасности, приведенные в нашей статье.

Running Redis on Windows 10 – Part I of III

Head of Ecosystem Programs

Share this Article

Subscribe

Get the monthly Redis Enterprise email newsletter.

Thanks for Subscribing

We appreciate your interest! You can change your communication preferences any time by visiting this page.

Head of Ecosystem Programs

Running Redis on Windows 10 – Part I of III

Ever since Jessica Deen explained how WSL works at my SVDevOps Meetup , I’ve recommended Redis Windows 10 users run Redis on their own dev machines. Yes, you heard right. Starting with Windows 10 (v1709 – 2017-09, Fall Creators Update ), you can run at least a half-dozen flavors of Linux on the Windows Subsystem for Linux (WSL), and you can run Redis on top of them. No VM required. No Docker. No joke!

How do I know if I have Windows 10 with WSL?

To answer the question “ Which version of Windows is my PC is running? ” press your Windows logo key + R, type “ winver ,” then select OK. Starting with version 10, you’ve got a command called “ wslconfig .” It lists distros you have and controls which one starts by typing “bash.” Try it out!

How to set up WSL!

  1. To install Redis Windows Subsystem for Linux, follow the instructions on Microsoft Docs . The short version is: In Windows 10, Microsoft replaces Command Prompt with PowerShell as the default shell. Open PowerShell as Administrator and run this command to enable Windows Subsystem for Linux (WSL):
  2. Reboot Windows after making the change—note that you only need to do this one time.
  3. Download and install one of the supported Linux distros from the Microsoft Store .
  • Ubuntu 18.04 (installs Redis v4.09)
  • Debian GNU/Linux (installs Redis v3.2.6)
Читайте также:  Astra linux sudo права

Install and Test Redis

  1. Launch the installed distro from your Windows Store and then install redis-server. The following example works with Ubuntu (you’ll need to wait for initialization and create a login upon first use):
  • Restart the Redis server to make sure it is running:
  • Execute a simple Redis command to verify your Redis server is running and available:
  • To stop your Redis server:
  • Further Information

    • How does Linux run within Windows 10? Instead of calling the Linux Kernel, the system calls (syscalls) that these unmodified Linux libraries use are redirected to Windows, which handles the call instead of Linux. For more information about WSL, visit the Windows Subsystem for Linux Documentation on MSDN .
    • How do I access files stored in the Linux environment? If you want to edit Windows files in Windows AND in Linux, then keep your files in /mnt/c/ so you can edit them with either OS. Don’t use Windows to “reach into the Linux file system.” As Scott Hanselman says on his WSL blog post , “There be dragons!” For further information about the WSL storage, visit Jack Hammon’s blog post on MSDN titled “ WSL File System Support .”

    #developers#Microsoft#Redis#Redis Cloud#Redis Enterprise Cloud#Windows

    By continuing to use this site, you consent to our updated privacy agreement as described here. You can change your cookie settings at any time as described here but parts of our site will not function correctly without them.

    TRY REDIS ENTERPRISE CLOUD FREE

    Redis Enterprise Cloud provides complete automation of day-to-day database operations. Start now with 30MB of free storage.

    • Twitter
    • YouTube
    • Facebook
    • LinkedIn
    • GlassDoor
    • Instagram

    © 2021 Redis Labs. Redis and the cube logo are registered trademarks of Redis Labs Ltd.

    Еще один способ установки и использования Docker в Windows 10

    В этой статье мы подготовим окружение для запуска контейнеров в Windows 10 и создадим простое контейнеризированное .NET приложение

    Чтобы все описанные ниже действия были успешно выполнены, потребуется 64-разрядная система с версией не меньше 2004 и сборкой не меньше 18362. Проверим версию и номер сборки, выполнив в PowerShell команду winver

    Если версия ниже требуемой, то необходимо произвести обновление и только после этого идти дальше

    Установка WSL 2

    Сначала включим компонент Windows Subsystem for Linux (WSL). Для этого запустим PowerShell с правами администратора и выполним первую команду

    Выполним следующую команду

    Чтобы завершить установку, перезагрузим компьютер shutdown -r -t 1

    Выберем WSL 2 по умолчанию для новых дистрибутивов Linux wsl —set-default-version 2

    Для целей этой статьи это необязательно, но установим дистрибутив Linux через Microsoft Store, например, Ubuntu 20.04 LTS

    При первом запуске установленного дистрибутива введем имя пользователя и пароль

    Чтобы увидеть запущенные дистрибутивы Linux, выполним в PowerShell команду wsl —list —verbose

    Чтобы завершить работу дистрибутива Linux, выполним команду wsl —terminate Ubuntu-20.04

    Файловая система запущенного дистрибутива Linux будет смонтирована по этому пути \\wsl$

    Читайте также:  Fonelab data retriever для mac os

    Установка Docker

    Скачаем Docker Desktop для Windows и установим, следуя простым инструкциям

    После установки запустим приложение Docker Desktop и установим интеграцию Docker с дистрибутивом Linux (WSL 2)

    Теперь отправлять команды Docker можно как через PowerShell, так и через Bash. Выполним команду docker version

    Запуск контейнеров

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

    Хорошо. Давайте сделаем что-то более интересное. Например, запустим контейнер rabbitmq

    Разберем выполненную команду:

    docker run — запускает контейнер из образа. Если данный образ отсутствует локально, то предварительно он будет загружен из репозитория Docker Hub

    —name rabbit1 — присваивает запускаемому контейнеру имя rabbit1

    -p 8080:15672 — пробрасывает порт с хоста в контейнер. 8080 — порт на хосте, 15672 — порт в контейнере

    rabbitmq:3.8.9-management — имя образа и его тег/версия, разделенные двоеточием

    Теперь мы можем извне контейнера взаимодействовать с сервером RabbitMQ через порт 5672 и получить доступ к управлению из браузера через порт 8080

    Посмотреть статус контейнеров, в том числе остановленных, можно с помощью команд docker container ls —all или docker ps -a

    Чтобы остановить наш контейнер: docker stop rabbit1 . Запустить вновь: docker start rabbit1

    Отладка .NET приложения запущенного в контейнере

    Для нашего примера нам понадобится отдельная сеть, т.к. мы запустим целых два контейнера, которые будут взаимодействовать между собой. На самом деле все запускаемые контейнеры по умолчанию попадают в уже существующую сеть с именем bridge, но т.к. в своей сети мы без лишних проблем сможешь обращаться из одного контейнера к другому прямо по имени, создадим сеть с названием mynet типа bridge

    Далее запустим redis и подключим его к ранее созданной сети. Благодаря параметру -d процесс в контейнере будет запущен в фоновом режиме

    Далее с помощью Visual Studio 2019 создадим новый проект ASP.NET Core Web API, который будет использован для демонстрации отладки

    Добавим для взаимодействия с Redis пакет StackExchange.Redis через Package Manager Console

    Мы не будем акцентироваться на правильности и красоте дизайна, а быстро создадим рабочий пример

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

    Добавим файл RedisRepository.cs, где будет находится служба кеширования сформированных прогнозов

    Зарегистрируем созданные службы в классе Startup

    И наконец, изменим созданный автоматически единственный контроллер WeatherForecastController следующим образом

    Помимо прочего в проект автоматически был добавлен файл Dockerfile с инструкциями для Docker. Оставим его без изменений

    В результате получим следующую структуру проекта

    Если по какой-то невероятной причине Вам понадобятся исходники, то они здесь

    Запустим наше приложение в контейнере под отладкой

    После того как контейнер будет запущен, также подключим его к сети mynet

    После убедимся, что все необходимые контейнеры находятся в одной сети

    Далее установим Breakpoint в единственном методе контроллера и пошлем запрос через Postman, или через любой браузер

    Кстати, используемый порт в Вашем случае может отличаться и его можно посмотреть в окне Containers

    Результат в окне Postman

    Дополнительно убедимся, что значение зафиксировано в redis, подключившись с помощью консоли redis-cli

    Оцените статью