API(DRF)Azure管道中的docker容器仅在单元测试中无法访问辅助DB SQL-SERVER
在我的开发和生产环境中,停靠的DRF-API运行良好。但是,当在Azure Pipelines for CI/CD中构建相同的代码时,容器无法建立到SQL-SERVER的连接,SQL-SERVER用于在测试步骤中查询数据(没有API的主数据库) 要构建容器,请执行以下步骤:API(DRF)Azure管道中的docker容器仅在单元测试中无法访问辅助DB SQL-SERVER,sql-server,api,docker,django-rest-framework,azure-devops,Sql Server,Api,Docker,Django Rest Framework,Azure Devops,在我的开发和生产环境中,停靠的DRF-API运行良好。但是,当在Azure Pipelines for CI/CD中构建相同的代码时,容器无法建立到SQL-SERVER的连接,SQL-SERVER用于在测试步骤中查询数据(没有API的主数据库) 要构建容器,请执行以下步骤: - task: Docker@2 inputs: command: build Dockerfile: '**/Dockerfile' containerRegistry: reg repository: $
- task: Docker@2
inputs:
command: build
Dockerfile: '**/Dockerfile'
containerRegistry: reg
repository: $(repo)
tags: $(imageTag)
displayName: 'Build Docker'
运行容器和测试的管道:
- script: |
docker run --name $(test_container) -p 8000:8000 $(name)/$(name2):dev &
docker start $(test_container)
sleep 10
docker exec $(test_container) python src/manage.py test myapp --no-input --verbosity=3
我得到一个错误:
Adding permission 'Permission object (49)
Adding permission 'Permission object (50)
Adding permission 'Permission object (51)
Adding permission 'Permission object (52)
Creating test database for alias 'my_sql_server' ('test_my_SQL_DB')...
Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/django/db/backends/base/base.py", line 216, in ensure_connection
self.connect()
File "/usr/local/lib/python3.7/site-packages/django/db/backends/base/base.py", line 194, in connect
self.connection = self.get_new_connection(conn_params)
File "/usr/local/lib/python3.7/site-packages/sql_server/pyodbc/base.py", line 307, in get_new_connection
timeout=timeout)
pyodbc.OperationalError: ('08001', '[08001] [FreeTDS][SQL Server]Unable to connect to data source (0) (SQLDriverConnect)')
我将此图像用于Docker文件:
FROM nickgryg/alpine-pandas:latest
这是ODBC的配置:
[FreeTDS]
Description=FreeTDS Driver
Driver=/usr/lib/libtdsodbc.so
TDS_Version=7.4
有什么想法吗?似乎需要在
/etc/freetds/freetds.conf
[<sql details>]
host = <host of the sql server>
port = <port of the sql server>
tds version = 7.4
[]
主机=
端口=
tds版本=7.4