Официальные образы Microsoft SQL Server в Linux для Docker Engine.

  • Михаил
  • 12 мин. на прочтение
  • 49
  • 20 Jul 2022
  • 20 Jul 2022

В этом кратком руководстве вы научитесь использовать Docker для извлечения и запуска образа контейнера SQL Server 2019 (15.x) или новее на Linux, mssql-server-linux. Затем вы сможете подключиться с помощью sqlcmd или SQL Server Management Studio (SSMS), чтобы создать первую базу данных и выполнять запросы.

Ссылка на официальный репозиторий 

Как использовать это образ

Запустите экземпляр mssql-server для SQL Server 2022, который в настоящее время находится в общедоступной предварительной версии.

docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=yourStrong(!)Password" -p 1433:1433 -d mcr.microsoft.com/mssql/server:2022-latest

Запустите экземпляр mssql-server с помощью тега CU, в этом примере мы используем CU 14 для SQL 2019. ВАЖНОЕ ПРИМЕЧАНИЕ. Если вы используете PowerShell в Windows для запуска этих команд, используйте двойные кавычки вместо одинарных.

docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=yourStrong(!)Password" -p 1433:1433 -d mcr.microsoft.com/mssql/server:2019-CU15-ubuntu-20.04

Запустите экземпляр mssql-сервера, используя последнее обновление для SQL Server 2019.

docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=yourStrong(!)Password" -p 1433:1433 -d mcr.microsoft.com/mssql/server:2019-latest

Запустите экземпляр mssql-сервера, работающий как выпуск SQL Express.

docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=yourStrong(!)Password" -e "MSSQL_PID=Express" -p 1433:1433 -d mcr.microsoft.com/mssql/server:2019-latest 

Подключение к Microsoft SQL Server. Вы можете подключиться к SQL Server с помощью инструмента sqlcmd внутри контейнера, выполнив на хосте следующую команду:

docker exec -it <container_id|container_name> /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P <your_password>

Вы также можете использовать инструменты в сценарии entrypoint.sh для создания баз данных или логинов, присоединения баз данных, импорта данных или других задач настройки. См. этот пример использования сценария entrypoint.sh для создания базы данных, схемы и bcp в некоторых данных .

Вы можете подключиться к экземпляру SQL Server в контейнере извне контейнера, используя различные инструменты командной строки и графического интерфейса на хосте или удаленных компьютерах. См. раздел « Подключение и запрос » в документации по SQL Server в Linux.

Конфигурация

Требования

Для этого образа требуется Docker Engine 1.8+ на любой из поддерживаемых платформ .

Не менее 2 ГБ оперативной памяти (3,25 ГБ до 2017-CU2). Убедитесь, что виртуальной машине Docker выделено достаточно памяти, если вы используете Docker для Mac или Windows .

Требуются следующие флаги среды

"ПРИНЯТЬ_EULA=Д"

"SA_PASSWORD=<ваш_надежный_пароль>"

"MSSQL_PID=<your_product_id | edition_name> (по умолчанию: Разработчик)"

Надежный пароль системного администратора (SA): не менее 8 символов, включая буквы верхнего и нижнего регистра, цифры с основанием 10 и/или символы, отличные от буквенно-цифровых.

Переменные среды

Вы можете использовать переменные среды для настройки SQL Server в контейнерах Linux.

ACCEPT_EULAподтверждает ваше согласие с Лицензионным соглашением с конечным пользователем .

SA_PASSWORDпароль системного администратора базы данных (userid = 'sa'), используемый для подключения к SQL Server после запуска контейнера. Важное примечание. Этот пароль должен содержать не менее 8 символов как минимум трех из этих четырех категорий: прописные буквы, строчные буквы, цифры и небуквенно-цифровые символы.

MSSQL_PID— это идентификатор продукта (PID) или выпуск, с которым будет работать контейнер. Допустимые значения:

  • Develoer : при этом контейнер будет запущен с использованием Developer Edition (это значение по умолчанию, если не указана переменная среды MSSQL_PID).
  • Express : это запустит контейнер с использованием Express Edition.
  • Standard : при этом контейнер будет запускаться с использованием Standard Edition.
  • Enterprise : это запустит контейнер с использованием Enterprise Edition.
  • EnterpriseCore : при этом контейнер будет запускаться с использованием ядра Enterprise Edition.

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

Связанные репозитории

Контейнер SQL Server для Windows: microsoft/mssql-server-windows-developer Контейнеры SQL Server Express для Windows: microsoft/mssql-server-windows-express Средства командной строки SQL Server для Linux: microsoft/mssql-tools

 

Запускаем в режиме разработчика

 

docker run --restart=always -e "ACCEPT_EULA=Y" -e “SA_PASSWORD=P@ssw0rd" -e "MSSQL_PID=Developer" -p 1433:1433 -d mcr.microsoft.com/mssql/server:2019-latest 

Проверяем.

Подключаемся.