- Запуск Redis в Windows 10
- Как узнать, есть ли у меня Windows 10 с WSL?
- Как настроить WSL!
- Установка и тестирование Redis
- Дальнейшая информация
- Установка и настройка Redis как контейнера Docker для продуктового использования
- Настройка Docker
- Настройка Redis
- Running Redis on Windows 10 – Part I of III
- Share this Article
- Subscribe
- Thanks for Subscribing
- Running Redis on Windows 10 – Part I of III
- How do I know if I have Windows 10 with WSL?
- How to set up WSL!
- Install and Test Redis
- Further Information
- Еще один способ установки и использования Docker в Windows 10
- Установка WSL 2
- Установка Docker
- Запуск контейнеров
- Отладка .NET приложения запущенного в контейнере
Запуск Redis в Windows 10
Как узнать, есть ли у меня Windows 10 с WSL?
Чтобы ответить на вопрос «Какая версия Windows работает на моем ПК? «Нажмите клавишу управления Windows + R, введите «winver», затем нажмите«ОК». Начиная с версии 10, у вас есть команда под названием «wslconfig». В ней перечислены дистрибутивы и элементы управления, которые начинаются с ввода «bash». Попробуйте!
Как настроить WSL!
- Чтобы включить подсистему Windows для Linux, следуйте инструкциям в документах Microsoft. Краткая версия: в Windows 10 Microsoft заменяет командную строку PowerShell в качестве оболочки по умолчанию. Откройте PowerShell в качестве администратора и запустите эту команду, чтобы включить подсистему Windows для Linux (WSL):
- Перезагрузите Windows после внесения изменений, которые вам нужно сделать только один раз.
- Загрузите и установите один из поддерживаемых дистрибутивов Linux из магазина Microsoft .
- Ubuntu 18.04 (устанавливает Redis v4.09)
- Kali Linux (устанавливает Redis v4.10)
- Debian GNU/Linux (устанавливает Redis v3.2.6)
Установка и тестирование Redis
- Запустите установленный дистрибутив из Windows Store и установите redis-сервер. Следующий пример работает с Ubuntu (вам нужно будет ждать инициализации и создать логин при первом использовании):
- Перезагрузите сервер Redis, чтобы убедиться, что он запущен:
- Выполните простую команду Redis, чтобы убедиться, что ваш сервер Redis запущен и доступен:
- Чтобы остановить сервер 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, что позволить разгрузить файловую систему сервера и автоматически удалять устаревшие объекты.
Настройка 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!
- 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):
- Reboot Windows after making the change—note that you only need to do this one time.
- 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)
Install and Test Redis
- 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):
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.
- YouTube
- GlassDoor
© 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$
Установка 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