Tor*_*cht 6 python docker docker-compose
让我们假设我有以下docker-compose.yml文件并行运行两个不同的python应用程序(例如通过烧瓶):
app1:
command: python app.py
build: app1/
app2:
command: python app.py
build: app2/
links:
- app1
Run Code Online (Sandbox Code Playgroud)
app2是app1因为我希望从中获取特定数据app1.现在我的问题是我想要调试此链接的某个场景.我可以轻松地调试app1和app2作为独立容器(通过docker-compose run --service-ports ... python app.py并放置pdb在代码中的某个位置).我的问题是当我想要调试app1以防请求来自app2.如果我开始app1使用docker-compose run,那么app2是不是能够解决的链接.随着更多应用/服务根据链接相互"交谈",这个问题变得更加严重.
有没有一个好方法来处理这个?你如何处理链接容器的调试问题(不一定是python的特定)?感谢您的投入.
如果您在同一台计算机上进行本地开发,则可以net: 'host'在配置中添加以下内容:
告诉Docker跳过将容器放在单独的网络堆栈中.从本质上讲,这个选择告诉Docker不要容器化网络!
有关详细信息,请参阅文档
app1:
command: python app.py
build: app1/
net: 'host'
app2:
command: python app.py
build: app2/
net: 'host'
Run Code Online (Sandbox Code Playgroud)
此外,您应该在守护进程模式下启动app1,在前台模式下启动app2以进行调试:
docker-compose up -d app1
docker-compose run app2
Run Code Online (Sandbox Code Playgroud)
一旦你收到从app1到app2的请求,你就会在app2中下载到(pdb)
| 归档时间: |
|
| 查看次数: |
2698 次 |
| 最近记录: |