Пример использования: я хочу запустить SQL сервер через docker на моей ма c для тестирования и разработки. Поскольку я не хочу терять свои базы данных при переключении контейнеров docker, я хочу использовать тома.
Используя тома docker, я могу это сделать.
docker run --name 'mssql' -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=SuperSecret' -p 1433:1433 -v mssqldata:/var/opt/mssql -d mcr.microsoft.com/mssql/server
Но на ma c данные тома также хранятся внутри виртуальной машины.
Итак, затем я попытался настроить конфигурацию docker compose для хранения файлов в моем любимом месте.
version: '3'
volumes:
dbdata:
driver: local
driver_opts:
type: 'none'
o: 'bind'
device: '/Users/rausch/Documents/docker-volumes/mssql/data'
services:
sql1:
image: "mcr.microsoft.com/mssql/server"
ports:
- 1433:1433
environment:
PATH: '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'
ACCEPT_EULA: Y
SA_PASSWORD: 1sa!1234
MSSQL_PID: Standard
volumes:
- dbdata:/var/opt/mssql
Начиная с
docker compose -f myconfig.yml up
Сервер sql запускается и начинает копировать файлы в определенное мной место
Но изображение docker существует с ошибкой. Вот результат:
Creating volume "documents_dbdata" with local driver
Creating documents_sql1_1 ... done
Attaching to documents_sql1_1
sql1_1 | SQL Server 2019 will run as non-root by default.
sql1_1 | This container is running as user mssql.
sql1_1 | To learn more visit https://go.microsoft.com/fwlink/?linkid=2099216.
sql1_1 | 2020-05-30 07:27:18.60 Server Setup step is copying system data file 'C:\templatedata\master.mdf' to '/var/opt/mssql/data/master.mdf'.
2020-05-30 07:27:19.67 Server Did not find an existing master data file /var/opt/mssql/data/master.mdf, copying the missing default master and other system database files. If you have moved the database location, but not moved the database files, startup may fail. To repair: shutdown SQL Server, move the master database to configured location, and restart.
2020-05-30 07:27:19.70 Server Setup step is copying system data file 'C:\templatedata\mastlog.ldf' to '/var/opt/mssql/data/mastlog.ldf'.
2020-05-30 07:27:19.79 Server Setup step is copying system data file 'C:\templatedata\model.mdf' to '/var/opt/mssql/data/model.mdf'.
2020-05-30 07:27:19.98 Server Setup step is copying system data file 'C:\templatedata\modellog.ldf' to '/var/opt/mssql/data/modellog.ldf'.
2020-05-30 07:27:20.17 Server Setup step is copying system data file 'C:\templatedata\msdbdata.mdf' to '/var/opt/mssql/data/msdbdata.mdf'.
2020-05-30 07:27:20.47 Server Setup step is copying system data file 'C:\templatedata\msdblog.ldf' to '/var/opt/mssql/data/msdblog.ldf'.
2020-05-30 07:27:20.55 Server Setup step is FORCE copying system data file 'C:\templatedata\model_replicatedmaster.mdf' to '/var/opt/mssql/data/model_replicatedmaster.mdf'.
2020-05-30 07:27:20.70 Server Setup step is FORCE copying system data file 'C:\templatedata\model_replicatedmaster.ldf' to '/var/opt/mssql/data/model_replicatedmaster.ldf'.
2020-05-30 07:27:20.78 Server Setup step is FORCE copying system data file 'C:\templatedata\model_msdbdata.mdf' to '/var/opt/mssql/data/model_msdbdata.mdf'.
2020-05-30 07:27:21.02 Server Setup step is FORCE copying system data file 'C:\templatedata\model_msdblog.ldf' to '/var/opt/mssql/data/model_msdblog.ldf'.
2020-05-30 07:27:22.99 Server Microsoft SQL Server 2019 (RTM-CU4) (KB4548597) - 15.0.4033.1 (X64)
sql1_1 Mar 14 2020 16:10:35
sql1_1 Copyright (C) 2019 Microsoft Corporation
sql1_1 Standard Edition (64-bit) on Linux (Ubuntu 18.04.4 LTS) <X64>
2020-05-30 07:27:23.01 Server UTC adjustment: 0:00
2020-05-30 07:27:23.02 Server (c) Microsoft Corporation.
2020-05-30 07:27:23.03 Server All rights reserved.
2020-05-30 07:27:23.04 Server Server process ID is 36.
2020-05-30 07:27:23.05 Server Logging SQL Server messages in file '/var/opt/mssql/log/errorlog'.
2020-05-30 07:27:23.06 Server Registry startup parameters:
sql1_1 -d /var/opt/mssql/data/master.mdf
sql1_1 -l /var/opt/mssql/data/mastlog.ldf
sql1_1 -e /var/opt/mssql/log/errorlog
2020-05-30 07:27:23.10 Server Error: 17113, Severity: 16, State: 1.
2020-05-30 07:27:23.10 Server Error 87(The parameter is incorrect.) occurred while opening file '/var/opt/mssql/data/master.mdf' to obtain configuration information at startup. An invalid startup option might have caused the error. Verify your startup options, and correct or remove them if necessary.
documents_sql1_1 exited with code 1
Итак, кто-нибудь может сказать мне, что я делаю не так?