简体   繁体   English

如何使用脚本在 Docker 中创建数据库和用户?

[英]How Do I Create A Database And User In Docker Using A Script?

I'm following the instructions here<\/a> on how to connect to MS SQL Server using docker.我正在按照此处<\/a>有关如何使用 docker 连接到 MS SQL Server 的说明进行操作。

After running the container you need to connect to do some setup:运行容器后,您需要连接以进行一些设置:

docker exec -it sql1 "bash"
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'YourStrong!Passw0rd'

Basically you can create the desired behavior with custom Dockerfile. 基本上,您可以使用自定义Dockerfile创建所需的行为。 Take a look here https://github.com/mcmoe/mssqldocker 在这里看看https://github.com/mcmoe/mssqldocker

For those ending up here who just want a "scriptable" solution, something like this should work (for mssql 2017):对于那些只想要“可脚本化”解决方案的人来说,这样的事情应该可以工作(对于 mssql 2017):

#!/usr/bin/env bash
set -e

CONTAINER_NAME="replace-with-something-meaningfull"
SA_PASSWORD="YourStrong!Passw0rd"
DB_NAME="TestDB"

until docker exec -i ${CONTAINER_NAME} /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P ${SA_PASSWORD} -d master -Q "CREATE DATABASE ${DB_NAME}" 2>/dev/null
do
  sleep 2
done

until docker exec -i ${CONTAINER_NAME} /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P ${SA_PASSWORD} -d master -Q "CREATE LOGIN TEST_USER WITH PASSWORD = 'YourStrong!Passw0rd'" 2>/dev/null
do
  sleep 2
done

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM