Sign inSign up

isimplelab/mssql

By isimplelab

Updated about 7 years ago

СУБД MS SQL Server для разработки и тестирования с возможностью восстановления из дампа при запуске

Image
0

6.0K

isimplelab/mssql repository overview

Что такое Microsoft SQL Server

Microsoft SQL Server - система управления реляционными базами данных, разработанная корпорацией Microsoft. Данный образ создан на основе https://hub.docker.com/r/microsoft/mssql-server-linux/ и поддерживает переменные окружения оттуда.

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

Предполагается что контейнер будет запущен одним из двух способов:

  1. Запуск контейнера с последующим созданием базы данных вручную.
  2. Запуск контейнера с автоматическим восстановлением на него указанного дампа.

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

Описанным ниже способом запускается сервер базы данных, к которому можно подключиться по порту 1433, либо на localhost, если Docker работает из-под Linux или Hyper-V, либо по адресу docker-machine.

docker run -d --name isimple-mssql -v mssql-data:/var/opt/mssql/data 
  -p 1433:1433isimplelab/mssql
  • -d запуск контейнера в фоном режиме (необязательно).
  • --name задаёт наименование контейнеру (необязательно).
  • -v создаёт именованный том mssql-data для хранения данных и размещает в нём содержимое контейнера, расположенное по пути /var/opt/mssql/data. При перезапуске контейнера его данные сохранятся в именованном томе.
  • -p отображение порта контейнера на порт хоста (необязательно). Если не указать, будет использован стандартный порт 1433.
  • isimplelab/mssql название запускаемого контейнера.

Запуск контейнера с восстановлением БД.

Данные могут быть прогружены в контейнер при его запуске из файла-дампа, находящегося на внешнем источнике и загружаемого контейнером по FTP, HTTP-протоколу, или на файловой системе, в каталоге, отображаемом внутрь Docker-контейнера.

В команде запуска контейнера с дампом нужно указать расположение файла, пароль от БД, согласие с условиями. Это можно сделать через специальные переменные окружения DUMP_PATH, SA_PASSWORD, ACCEPT_EULA.

Значение переменных может быть задано в команде запуска контейнера после флага -e, или в файле свойств, путь к которому передаётся команде запуска контейнера после флага --env-file.

Значения переменной DUMP_PATH

Дамп может находиться на локальном диске или на внешнем ресурсе.

  • В локальной директории DUMP_PATH=dump_name.backup
  • На FTP-ресурсе DUMP_PATH=ftp://<login>:<password>@<host>/path/dump_name.backup
  • На HTTP-ресурсе DUMP_PATH=http://<host>/path/dump_name.backup
Значения переменной SA_PASSWORD

Пароль от базы данных.

Значения переменной ACCEPT_EULA

Согласие с условиями (end-user license agreement)

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

Запуск контейнера с дампом на внешнем ресурсе и локальном диске немного отличаются.

На внешнем ресурсе
docker run -d --name isimple-mssql -v mssql-data:/var/opt/mssql/data 
-p 1433:1433 --env-file way/to/property_file.properties  isimplelab/mssql
На локальном диске
docker run -d --name isimple-mssql -v mssql-data:/var/opt/mssql/data 
-v way/to/folder/with/dump:/dump -p 1433:1433 
--env-file way/to/property_file.properties isimplelab/mssql

-v way/to/folder/with/dump:/dump - отображение локальной директории, содержащей файл дампа на директорию внутри контейнера, которую он использует как источник файлов для восстановления.

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

docker logs -f isimple-mssql.

После того, как дамп будет восстановлен, можно подключиться к базе используя:

  • IP адрес хоста, на котором запущен контейнер
  • имя БД - isimpledb
  • логин - SA
  • пароль - yourStrong(!)Password (если не был задан иной).
  • порт - 1433

Tag summary

Content type

Image

Digest

Size

426.6 MB

Last updated

about 7 years ago

docker pull isimplelab/mssql