在travis中连接到docker容器内的SQL Server数据库时遇到问题。
在我的机器上一切都运行得很好,错误只发生在travis内部,不知道为什么。
Dockerfile:
from microsoft/mssql-server-linux:2017-latest
ENV ACCEPT_EULA=Y
ENV MSSQL_SA_PASSWORD=Passw0rd
COPY hermes.bak /var/opt/mssql/backup/hermes.bak
CMD ["/opt/mssql/bin/sqlservr"].travis.yml:
dist: trusty
services:
- docker
before_install:
- docker build -t hermes-db .
- docker run -d -p 127.0.0.1:1430:1433 --name hermes-db hermes-db
- docker exec hermes-db /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'Passw0rd' -Q "RESTORE DATABASE [lbc_refs] FROM DISK = N'/var/opt/mssql/backup/hermes.bak' WITH MOVE 'lbc_refs' TO '/var/opt/mssql/data/lbc_refs_data.mdf', MOVE 'lbc_refs_log' TO '/var/opt/mssql/data/lbc_refs_log.ldf'"
script:
- docker ps | grep -q hermes-db结果是:
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : Login timeout expired.
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : TCP Provider: Error code 0x2AF9.
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online..当我运行netstat -tulpn时:
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:11211 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:1430 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN -
tcp6 0 0 :::22 :::* LISTEN -
udp 0 0 0.0.0.0:11211 0.0.0.0:* -
udp 0 0 172.18.0.1:123 0.0.0.0:* -
udp 0 0 172.17.0.5:123 0.0.0.0:* -
udp 0 0 127.0.0.1:123 0.0.0.0:* -
udp 0 0 0.0.0.0:123 0.0.0.0:* -
udp6 0 0 :::123 :::* - 发布于 2020-03-18 05:12:24
我在使用Travis CI上的SQL Server的多租户应用程序上遇到了同样的问题。
这是最终的构建:https://travis-ci.org/github/ron190/jsql-injection/builds/663658271
经过多次尝试和错误,我成功地按照以下规则稳定了端口1433上的连接:
在使用符合sqlcmd
sqlcmd
2017-latestEXPOSE 1434 1433、1434 2019-GDR1-ubuntu-16.04 1434 sqlcmd、1433 for Hibernate on C3P0sleep 10s <代码>H217<代码>F218关于我在travis-ci.community上调试的一些细节。
https://stackoverflow.com/questions/53816359
复制相似问题