从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“'