从Linux Docker容器连接到远程MSSQL数据库

我有一个build立在microsoft / mssql-server-linux / image上的linux docker容器。 容器此刻没有任何东西,我试图连接到远程MSSQL数据库托pipe在Windows服务器的地方。 我不确定我该怎么做。

microsoft / mssql-server-linux /的文档没有提供很多细节。 任何帮助,将不胜感激。

更新:我现在有容器工作。 但是,如果我尝试通过bash脚本创build和种子数据库,容器退出代码0。

这里是docker文件和docker-compose文件

version: '2' services: db: build: . ports: - "1433:1433" environment: ACCEPT_EULA: Y SA_PASSWORD: Password PATH: /opt/mssql-tools/bin:/opt/mssql/bin:$PATH container_name: db FROM microsoft/mssql-server-linux:latest EXPOSE 1433 RUN echo $PATH RUN mkdir -p /usr/src/app COPY ./db/* /usr/src/app/ WORKDIR /usr/src/app RUN ls RUN chmod +x /usr/src/app/dbInit.sh RUN chmod +x /usr/src/app/dbSeed.sh CMD /bin/bash ./entrypoint.sh 

这是我的入口点.sh

 /opt/mssql/bin/sqlservr & /usr/src/app/dbInit.sh 

dbInit.sh包含SQL脚本来创build数据库,一些表和种子。 像这样的东西。

 sqlcmd -S localhost -U SA -P password -d master -Q "CREATE DATABASE dbo" 

docker-compose up –build成功创build数据库,表和种子。 但容器退出代码0.看起来像SQL Server自己closures。

文档非常清晰..请参阅连接和查询以获取更多详细信息

1.首先你必须安装SQLCMD工具,因为它们不是自动安装的

  • 导入公共存储库GPG密钥。

curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add –

  • 注册Microsoft Ubuntu存储库

curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list

  • 更新源列表并使用unixODBC开发包运行安装命令。

sudo apt-get update sudo apt-get install mssql-tools unixodbc-dev

你可以在这里查看进一步的增强: 在Ubuntu上安装工具

现在你可以像下面这样查询

对于本地:

sqlcmd -S localhost -U SA -P“'

对于远程:

sqlcmd -S 192.555.5.555 -U SA -P“'