diff --git a/.gitignore b/.gitignore index fa27ff2..bc34b8b 100644 --- a/.gitignore +++ b/.gitignore @@ -350,4 +350,9 @@ MigrationBackup/ .ionide/ # Config files -**/appsettings.json \ No newline at end of file +**/appsettings.json + +# Docker volumes +**/fs/volumes/sqlserver/data +**/fs/volumes/sqlserver/log +**/fs/volumes/sqlserver/secrets \ No newline at end of file diff --git a/README.md b/README.md index eed4905..365b0cf 100644 --- a/README.md +++ b/README.md @@ -39,6 +39,7 @@ | 27 | [Track-Data-Changes](SQL-Server-Track-Data-Changes) | Механизмы отслеживания изменения данных. | | 28 | [Security](SQL-Server-Security) | Безопасность, управление доступом и связанные темы. | | 29 | [SQLCLR](SQL-Server-SQLCLR) | Материалы по созданию расширений для SQL Server на базе SQLCLR. | +| 30 | [Docker](SQL-Server-Docker) | SQL Server и Docker | ## Полезные ссылки diff --git a/SQL-Server-Docker/Readme.md b/SQL-Server-Docker/Readme.md new file mode 100644 index 0000000..e405364 --- /dev/null +++ b/SQL-Server-Docker/Readme.md @@ -0,0 +1,14 @@ +# SQL Server и Docker + +Примеры запуска SQL Server в Docker. + +## Полезные материалы + +* [Краткое руководство. Запуск образов контейнеров SQL Server на Linux с помощью Docker](https://learn.microsoft.com/ru-ru/sql/linux/quickstart-install-connect-docker?view=sql-server-ver16&pivots=cs1-bash) +* [Использование сервера баз данных, работающего в качестве контейнера](https://learn.microsoft.com/ru-ru/dotnet/architecture/microservices/multi-container-microservice-net-applications/database-server-container) +* [Microsoft SQL Server - Ubuntu based images](https://hub.docker.com/_/microsoft-mssql-server) +* [SQL Server in Docker on GitHub](https://github.com/microsoft/mssql-docker) +* [MS SQL Server in Docker](https://medium.com/@zzpzaf.se/ms-sql-server-in-docker-b0397a55859c) by [Panos Zafeiropoulos](https://medium.com/@zzpzaf.se?source=post_page-----b0397a55859c--------------------------------) +* [How to set up and run SQL Server Docker image](https://www.sqlshack.com/how-to-set-up-and-run-sql-server-docker-image/) by [Aveek Das](https://www.sqlshack.com/author/aveek-das/) +* [How to Deploy & Connect an SQL Server Docker Container](https://hevodata.com/learn/sql-server-docker/) +* [How to run SQL Server in a Docker container](https://blog.logrocket.com/docker-sql-server/) \ No newline at end of file diff --git a/SQL-Server-Docker/SQL-Server-Common/Readme.md b/SQL-Server-Docker/SQL-Server-Common/Readme.md new file mode 100644 index 0000000..3048e57 --- /dev/null +++ b/SQL-Server-Docker/SQL-Server-Common/Readme.md @@ -0,0 +1,24 @@ +# SQL Server - базовая настройка + +Пример базовой настройки образа SQL Server для запуска через Docker Compose. + +## Перед запуском + +Перед запуском может понадобиться настроить права на каталоги. + +```bash +mkdir -p fs +chgrp -R 0 fs +chmod -R g=u fs +chown -R 10001:0 fs +``` + +## Как запустить + +При установленном Docker Engine и Docker Compose достаточно выполнить команду: + +```bash +docker-compose up -d +``` + +Команду выполнять в каталоге с файлом docker-compose.yml. В результате будут созданы подкаталог fs с файлами конфигурации сервера SQL Server. \ No newline at end of file diff --git a/SQL-Server-Docker/SQL-Server-Common/docker-compose.yml b/SQL-Server-Docker/SQL-Server-Common/docker-compose.yml new file mode 100644 index 0000000..543e6c0 --- /dev/null +++ b/SQL-Server-Docker/SQL-Server-Common/docker-compose.yml @@ -0,0 +1,25 @@ +version: '3' + +networks: + sqlserver-network: + driver: bridge + +services: + sql-server: + image: mcr.microsoft.com/mssql/server:2022-latest + hostname: sql-server + container_name: sql-server + restart: unless-stopped + ports: + - "1433:1433" + volumes: + - ${PWD}/fs/volumes/sqlserver/data:/var/opt/mssql/data + - ${PWD}/fs/volumes/sqlserver/log:/var/opt/mssql/log + - ${PWD}/fs/volumes/sqlserver/secrets:/var/opt/mssql/secrets + environment: + MSSQL_SA_PASSWORD: "MySuperPassword-128935" + ACCEPT_EULA: "Y" + MSSQL_PID: Developer + networks: + - sqlserver-network + \ No newline at end of file