Контейнер Docker на NAS. нужна общая папка для SQL-базы данных

#sql-server #docker

#sql-сервер #docker

Вопрос:

на QNAP я установил контейнер Docker для запуска SQL-Server 2019 в Linux. Я могу запустить SQL-сервер и подключиться с помощью Management Studio.

Но теперь я хочу импортировать существующую базу данных с хоста, что невозможно сделать, потому что при попытке восстановить базу данных я не могу перейти в папку резервной копии хоста. Диалоговое окно открытия файла остается в /var/opt/mssql/data, который является папкой для SQL-данных в контейнере.

Теперь мне нужно смонтировать общую папку для контейнера и хоста.

Есть несколько руководств и видеороликов, Но docker world с bin / bash и т. Д. Мне Совсем не знакомы, Поэтому я не могу пройти через это.

Кто-нибудь может дать мне фиктивное объяснение, что делать и КАК делать??

В docker я могу просто открыть «terminal», но тогда я теряюсь. Большое спасибо.

Комментарии:

1. Можете ли вы предоставить доступ к файлам резервных копий через общий ресурс SMB / CIFS? РЕЗЕРВНОЕ КОПИРОВАНИЕ НА ДИСК и ВОССТАНОВЛЕНИЕ С ДИСКА поддерживают UNC-пути.

2. Нет, это моя проблема. Файл .bak все еще находится в видимой папке на NAS, и, открыв программу восстановления в SSMS, я не могу «оставить» файловую структуру /var / opt/ mssql/data, которая находится внутри контейнера. Поэтому я хочу создать общую папку для хранения .bak, а затем получить доступ к этой папке через SSMS и импортировать оттуда базу данных. Но я нашел другой способ сделать это (почти): я использовал export wizzard, который создавал таблицы с данными, но не создавал первичные ключи. Мне нужно установить их вручную.

3. Наконец, я решил проблему переноса из существующей базы данных в docker на NAS через SSMS. Возможно, это было неправильное мышление, или я попробовал это так, как я обычно переношу базу данных на другую машину (с помощью .bak-файла), но я мог подключиться к SQL-серверу, работающему на NAS, и к серверу, работающему на моей машине. Итак, я просто экспортировал данные из одного в другой.