Published on

May 1, 2017

Исследование переменных среды SQL Server в Docker

SQL Server на Linux набрал популярность в последние годы, и с выпуском SQL Server 2017 Microsoft представила набор новых переменных среды, которые позволяют более гибко настраивать работу SQL Server в контейнерах Docker.

В более ранних версиях SQL Server на Linux были доступны только две переменные среды: ACCEPT_EULA и SA_PASSWORD. Эти переменные должны были быть установлены для запуска контейнера, причем для SA_PASSWORD требовался сложный пароль в целях безопасности.

Однако с выпуском CTP 2.1 для SQL Server 2017 было представлено несколько новых переменных среды:

  • MSSQL_TCP_PORT: Указывает TCP-порт, на котором SQL Server слушает.
  • MSSQL_IP_ADDRESS: Устанавливает IP-адрес для SQL Server.
  • MSSQL_BACKUP_DIR: Определяет каталог для хранения резервных копий.
  • MSSQL_DATA_DIR: Указывает каталог для хранения файлов данных.
  • MSSQL_LOG_DIR: Устанавливает каталог для хранения файлов журнала.
  • MSSQL_DUMP_DIR: Определяет каталог для хранения файлов дампа.
  • MSSQL_ENABLE_HADR: Включает функции высокой доступности и восстановления после сбоя.

Эти новые переменные среды предоставляют больше возможностей для управления и настройки при создании контейнеров SQL Server. Например, теперь вы можете указать нестандартные порты, настроить различные каталоги для файлов данных и журнала, а также включить функции высокой доступности и восстановления после сбоя.

Давайте рассмотрим пример использования этих переменных среды при запуске контейнера SQL Server:

docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=P455word1' -e MSSQL_BACKUP_DIR=/etc/ -e MSSQL_DATA_DIR=/etc/ -e MSSQL_TCP_PORT=6666 -p 5555:6666 --rm --name mssql1 -d microsoft/mssql-server-linux

В этом примере мы устанавливаем переменные ACCEPT_EULA и SA_PASSWORD, как и раньше, но также указываем каталог резервных копий как “/etc/”, каталог данных как “/etc/” и TCP-порт как 6666. Кроме того, мы сопоставляем порт 5555 на хост-машине с портом 6666 в контейнере.

Запустив команду “docker ps”, мы можем проверить, что контейнер работает с указанными портами. Чтобы проверить журналы контейнера, мы можем использовать команду “docker logs mssql1”, чтобы узнать, на каком порту он слушает.

Наконец, мы можем подключиться к контейнеру SQL Server с помощью SQL Server Management Studio (SSMS), чтобы проверить новые местоположения файлов по умолчанию и резервных копий. Если не указано, каталог по умолчанию для файлов данных будет “/var/opt/mssql/data”.

Хотя эти новые переменные среды значительно улучшают работу SQL Server в Docker, всегда есть место для дальнейшего совершенствования. Было бы замечательно увидеть дополнительные переменные для настройки максимальной памяти, файлов TempDB, MAXDOP и других важных параметров. Надеюсь, Microsoft рассмотрит возможность добавления этих опций в будущих версиях.

В целом, введение новых переменных среды в SQL Server в Docker позволяет более гибко настраивать и управлять контейнерами SQL Server, что упрощает развертывание и управление экземплярами SQL Server по мере того, как все больше организаций принимают контейнеризацию.

Следите за обновлениями и улучшениями, поскольку SQL Server продолжает развиваться в экосистеме Docker!

Спасибо за чтение!

С наилучшими пожеланиями,

Ваше имя

Click to rate this post!
[Total: 0 Average: 0]

Let's work together

Send us a message or book free introductory meeting with us using button below.