Развертывание экземпляров SQL Server с помощью Docker
С SQL Server 2017 корпорация Майкрософт объявила захватывающие новости о том, что SQL Server будет работать в контейнерах Docker. Мы предоставляем руководство для начала создания экземпляров SQL Server в Docker.
Мы, администраторы баз данных, склонны тратить деньги на предоставление экземпляров SQL Server. Мы просто не привыкли к тому, что можно получить экземпляр SQL Server и работать без длительной установки и установки всех этих обязательных компонентов. Однако наши друзья-Ops, особенно люди Linux, просто улыбаются и качают головами, когда они видят, что мы смотрим на экраны установки SQL Server. Они экономят много времени, используя Docker. Мы можем сделать то же самое, используя PowerShell для сценария процесса.
Почему сейчас так важно иметь возможность быстро предоставлять экземпляры? Это связано с тем, что обеспечивается более надежный выпуск программного обеспечения, если тесты и эксперименты, выполняемые в dev, test и CI/CD, поддерживаются в отдельных изолированных экземплярах, чтобы быть уверенным в том, чтобы избежать последствий чего-либо, нарушающего экземпляр. С помощью Docker вы можете запустить столько свежих экземпляров SQL Server на хосте, сколько вам нужно, просто запустив запуск докеров. Когда вы закончите с ними, вы можете убрать их обратно без каких-либо беспорядочных остатков. Здесь наиболее удобно иметь SQL Server в своем собственном контейнере.
Вы можете запустить SQL Server в среде Linux с помощью Linux Docker, используя Docker Enterprise Edition для запуска поддерживаемой версии SQL Server в Linux в контейнерах. Вы также можете запустить SQL Server в Windows Docker на Windows 10 или Windows Server 2016. Также можно запустить SQL Server в Docker на Mac!
Обзор Docker
Итак, что такое Docker? Это платформа с открытым исходным кодом, написанная на Go, которая является высокопроизводительным языком от Google. Go дает экстремальную переносимость Docker, потому что скомпилированное приложение не полагается на внешние зависимости.
Docker позволяет осуществлять администрирование в изолированных системах. Docker не является механизмом виртуализации, потому что он использует общие ресурсы ячеек библиотек (хоста и контейнера), а не собственные ресурсы. В виртуализации у нас есть полная операционная система, а в Docker у нас есть только библиотеки ядра - в Windows Nano Server.
Поскольку большинство из нас, администраторов баз данных SQL Server, чувствуют себя комфортнее с Windows, мы хотим воспользоваться тем, что мы можем запускать SQL Server в контейнере Docker на Windows Server и Windows 10. Поскольку это Windows, мы можем выполнить все это в PowerShell. Здесь мы расскажем, как это сделать, используя Azure Virtual Machine, работающую под управлением Windows Server 2016, PowerShell и Docker. Скрипт будет работать без виртуальной машины, если вы предпочитаете это делать таким образом.
Прежде чем начать, создайте свою машину, виртуальную или нет, установите Windows Server 2016, а затем последовательно следуйте коду PowerShell в режиме администратора («Запуск от имени администратора»)
Настройка Docker
На момент написания этой статьи Docker выпустила две версии Docker для Windows. Для Windows 10 используйте версию Docker Community Edition. Поскольку в этой статье рассказывается об использовании Windows Server 2016, вы можете установить Docker Enterprise Edition для Windows Server.
Запустите окно командной строки PowerShell, запущенное как администратор, и запустите следующие команды для загрузки и установки последней версии Docker:
Install-Module DockerMsftProvider -Force
Install-Package Docker -ProviderName DockerMsftProvider -Force
Если будет предложено установить какие-либо предварительные условия, такие как NuGet, введите Y и перезапустите после завершения установки.
Тестирование вашей Docker Install
Проверьте версию Docker, выполнив следующую команду:
Docker version
Затем вы можете протестировать Docker, загрузив контейнер, который у них есть для этой цели, называемый hello-world: nanoserver.
Docker container run hello-world:nanoserver
Докер сначала проверяет, есть ли там уже изображение. Если нет, он загружает его и запускает.
Проверка репозитория Microsoft и загрузка SQL Server
Теперь, когда Docker успешно установлен и запущен, вы можете приступить к созданию контейнера SQL Server. Проверьте репозиторий Microsoft в Docker:
docker search microsoft
Загрузите репозиторий SQL Server локально. Это большие файлы.
Например, последние mssql-изображения имеют размер более 12 ГБ. Даже «Hello World» занимает больше гигабайта. Загрузка изображения может занять несколько минут.
Проверьте загруженные изображения локального репозитория:
Docker images