1.通过修改daemon配置文件/etc/docker/daemon.json来使用加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://ya4ouoma.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
2.从 Docker Hub 中拉出 SQL Server 2017 Linux 容器映像
docker pull microsoft/mssql-server-linux:2017-latest
3.使用 Docker 运行容器映像
sudo docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=<YourStrong!Passw0rd>' -p 1433:1433 --name sql1 -d microsoft/mssql-server-linux:2017-latest
//可以将上-v参数同步时间
-v /etc/localtime:/etc/localtime
4.修改SA密码
sudo docker exec -it sql1 /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P '<YourStrong!Passw0rd>' -Q 'ALTER LOGIN SA WITH PASSWORD="新密码"'
5.连接到SQLSERVER
sudo docker exec -it sql1 "bash"
1)使用 docker exec -it 命令在运行的容器内部启动交互式 Bash Shell。 在下面的示例中,sql1 是在创建容器时由 --name 参数指定的名称
sudo docker exec -it sql1 "bash"
2)一旦位于容器内部,使用 sqlcmd 进行本地连接。 默认情况下,sqlcmd 不在路径之中,因此需要指定完整路径。
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P '密码'
必须在新行中键入 GO 才能执行以前的命令
6.退出 sqlcmd 命令提示符
1)要结束 sqlcmd 会话,请键入 QUIT
:
quit
从容器外连接
sqlcmd -S 10.3.2.4,1401 -U SA -P '<YourNewStrong!Passw0rd>'
exit退出容器
exit
2)要在容器中退出交互式命令提示,请键入 exit
。 退出交互式 Bash Shell 后,容器将继续运行。
7.删除容器
sudo docker stop sql1
sudo docker rm sql1
最后在阿里云安全组添加入方向将1433端口打开,方可在通过客户端连接
查看所有数据库
SELECT Name FROM Master..SysDatabases ORDER BY Name
附加分离的数据库(亲测linux可附加在window上分离的数据库文件)
exec sp_attach_db @dbname = 'tb_test' , @filename1 = '/opt/tb_test.mdf', @filename2 = '/opt/tb_test_log.ldf'
参考文章:
https://docs.microsoft.com/zh-cn/sql/linux/quickstart-install-connect-docker
https://www.cnblogs.com/atuotuo/p/6264800.html
https://blog.csdn.net/linjingke32/article/details/78154406
网友评论